Subversion Repositories bacoAlunos

Rev

Rev 1 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package jomm.utils;

/**
 *
 * @author Jorge Machado
 * @version
 */


import java.io.*;
import java.net.URL;
import java.util.*;

import org.apache.log4j.Logger;

public class AppProperties extends 1.5.0/docs/api/java/util/Properties.html">Properties
{
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(AppProperties.class);


    public static 1.5.0/docs/api/java/lang/String.html">String getPathOfResource(1.5.0/docs/api/java/lang/String.html">String resourceName){

        1.5.0/docs/api/java/net/URL.html">URL url = 1.5.0/docs/api/java/lang/Thread.html">Thread.currentThread().getContextClassLoader().getResource(resourceName);
        if (url==null)
            return null;
        1.5.0/docs/api/java/lang/String.html">String ret=null;
        try{
            ret=java.net.1.5.0/docs/api/java/net/URLDecoder.html">URLDecoder.decode(url.getFile(),"iso-8859-1");
        }catch(1.5.0/docs/api/java/io/UnsupportedEncodingException.html">UnsupportedEncodingException e){
            throw new 1.5.0/docs/api/java/lang/RuntimeException.html">RuntimeException(e);
        }
        if (ret==null)
            return null;
        if (ret.startsWith("/"))
            return ret.substring(1);
        return ret;
    }

    public AppProperties(1.5.0/docs/api/java/lang/String.html">String filename) throws 1.5.0/docs/api/java/io/IOException.html">IOException {
        5+0%2Fdocs%2Fapi+InputStream">InputStream file = getClass().getClassLoader().getResourceAsStream(filename);
        int dot = filename.indexOf(".");
        1.5.0/docs/api/java/lang/String.html">String startFilename = filename.substring(0,filename.indexOf("."));
        5+0%2Fdocs%2Fapi+InputStream">InputStream fileEdited = getClass().getClassLoader().getResourceAsStream(startFilename + "Edited" + filename.substring(dot));
        load(file);
        if(fileEdited!=null){
            1.5.0/docs/api/java/lang/System.html">System.out.println(filename + " >> " + startFilename + "Edited" + filename.substring(dot));
            load(fileEdited);
        }

    }

    public AppProperties() {

    }

    public void loadPropertiesCompleteFilePath(1.5.0/docs/api/java/lang/String.html">String filename) throws 1.5.0/docs/api/java/io/IOException.html">IOException {
        5+0%2Fdocs%2Fapi+InputStream">InputStream file = (5+0%2Fdocs%2Fapi+InputStream">InputStream)new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(filename);
        load(file);
    }
    public AppProperties(1.5.0/docs/api/java/net/URL.html">URL filename) throws 1.5.0/docs/api/java/io/IOException.html">IOException {
        load(filename.openConnection().getInputStream());
    }

     /***********************************************************
     * Returns a list of all property names hat starts with the given
     * prefix
     *
     ************************************************************/

    public 5+0%2Fdocs%2Fapi+List">List getListProperties(1.5.0/docs/api/java/lang/String.html">String propertyPrefix){

        5+0%2Fdocs%2Fapi+List">List props = new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList();
        1.5.0/docs/api/java/util/Enumeration.html">Enumeration enumE;
        try{
            enumE = propertyNames();
        }
        catch(1.5.0/docs/api/java/lang/Exception.html">Exception e){
            logger.fatal("cant load properties");
            return null;
        }

        while (enumE.hasMoreElements()) {
            1.5.0/docs/api/java/lang/String.html">String propertyName = (1.5.0/docs/api/java/lang/String.html">String)enumE.nextElement();
            if (propertyName.startsWith(propertyPrefix)) {
                props.add(propertyName);
            }
        }
        1.5.0/docs/api/java/util/Collections.html">Collections.sort(props,StringComparator.getInstance());
        return props;
    }

    public 5+0%2Fdocs%2Fapi+List">List getListValuesProperties(1.5.0/docs/api/java/lang/String.html">String propertyPrefix){

        5+0%2Fdocs%2Fapi+List">List props = new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList();
        1.5.0/docs/api/java/util/Enumeration.html">Enumeration enumE;
        try{
            enumE = propertyNames();
        }
        catch(1.5.0/docs/api/java/lang/Exception.html">Exception e){
            logger.fatal("cant load properties");
            return null;
        }
        while (enumE.hasMoreElements()) {
            1.5.0/docs/api/java/lang/String.html">String propertyName = (1.5.0/docs/api/java/lang/String.html">String)enumE.nextElement();
            if (propertyName.startsWith(propertyPrefix)) {
                props.add(getProperty(propertyName));
            }
        }
        1.5.0/docs/api/java/util/Collections.html">Collections.sort(props,StringComparator.getInstance());
        return props;
    }
}