001    package org.apache.myfaces.tobago.context;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one or more
005     * contributor license agreements.  See the NOTICE file distributed with
006     * this work for additional information regarding copyright ownership.
007     * The ASF licenses this file to You under the Apache License, Version 2.0
008     * (the "License"); you may not use this file except in compliance with
009     * the License.  You may obtain a copy of the License at
010     *
011     *      http://www.apache.org/licenses/LICENSE-2.0
012     *
013     * Unless required by applicable law or agreed to in writing, software
014     * distributed under the License is distributed on an "AS IS" BASIS,
015     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016     * See the License for the specific language governing permissions and
017     * limitations under the License.
018     */
019    
020    public class ResourceUtils {
021    
022      public static final char FOLDER_SEPARATOR = '/';
023      public static final char SEPARATOR = '-';
024      public static final char DOT = '.';
025    
026      public static final String GIF = "gif";
027    
028      public static String createString(String folder, String component, String name, String postfix, String extension) {
029        return new StringBuilder()
030            .append(folder)
031            .append(FOLDER_SEPARATOR)
032            .append(component)
033            .append(SEPARATOR)
034            .append(name)
035            .append(SEPARATOR)
036            .append(postfix)
037            .append(DOT)
038            .append(extension)
039            .toString();
040      }
041    
042      public static String createString(String folder, String component, String name, String extension) {
043        return new StringBuilder()
044            .append(folder)
045            .append(FOLDER_SEPARATOR)
046            .append(component)
047            .append(SEPARATOR)
048            .append(name)
049            .append(DOT)
050            .append(extension)
051            .toString();
052      }
053    
054      public static String addPostfixToFilename(String filename, String postfix) {
055        int dotIndex = filename.lastIndexOf('.');
056        String name = filename.substring(0, dotIndex);
057        String extension = filename.substring(dotIndex);
058        return new StringBuilder()
059            .append(name)
060            .append(SEPARATOR)
061            .append(postfix)
062            .append(extension)
063            .toString();
064      }
065    
066      private ResourceUtils() {
067      }
068    
069    }