All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xyz.cofe.fs.unix.DefaultUnixFileConfig Maven / Gradle / Ivy

The newest version!
/*
 * The MIT License
 *
 * Copyright 2014 Kamnev Georgiy ([email protected]).
 *
 * Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного 
 * обеспечения и сопутствующей документации (в дальнейшем именуемыми "Программное Обеспечение"), 
 * использовать Программное Обеспечение без ограничений, включая неограниченное право на 
 * использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование 
 * и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется 
 * данное Программное Обеспечение, при соблюдении следующих условий:
 *
 * Вышеупомянутый копирайт и данные условия должны быть включены во все копии 
 * или значимые части данного Программного Обеспечения.
 *
 * ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ ЛЮБОГО ВИДА ГАРАНТИЙ, 
 * ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, 
 * СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И НЕНАРУШЕНИЯ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ 
 * ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ 
 * ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ 
 * ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 
 * ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
 */

package xyz.cofe.fs.unix;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import xyz.cofe.unix.libc.UnixFileIO;

/**
 *
 * @author Kamnev Georgiy ([email protected])
 */
public class DefaultUnixFileConfig extends PropertiesUnixFileConfig {
    //
    private static void logFine(String message,Object ... args){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.FINE, message, args);
    }
    
    private static void logFiner(String message,Object ... args){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.FINER, message, args);
    }
    
    private static void logFinest(String message,Object ... args){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.FINEST, message, args);
    }
    
    private static void logInfo(String message,Object ... args){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.INFO, message, args);
    }

    private static void logWarning(String message,Object ... args){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.WARNING, message, args);
    }
    
    private static void logSevere(String message,Object ... args){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.SEVERE, message, args);
    }

    private static void logException(Throwable ex){
        Logger.getLogger(DefaultUnixFileConfig.class.getName()).log(Level.SEVERE, null, ex);
    }
    //

    public DefaultUnixFileConfig(UnixFileIO io, final java.util.Properties props){
        super(io, props);
    }
    
    public DefaultUnixFileConfig(UnixFileIO io, final java.util.Map props){
        super(io, props);
    }
    
    private static Properties props = null;
    public static Properties getProperties(){
        if( props!=null )return props;
        props = new Properties();
        URL u1 = DefaultUnixFileConfig.class.getResource("defaultUnixFileConfig.properties");
        if( u1!=null ){
            try {
                InputStream inpt = u1.openStream();
                Reader rd = new InputStreamReader(inpt, "utf-8");
                props.load(rd);
                inpt.close();
            } catch (IOException ex) {
                logException(ex);
            }
        }
        return props;
    }
    
    private static DefaultUnixFileConfig inst = null;
    public static DefaultUnixFileConfig get(){
        if( inst!=null )return inst;
        inst = new DefaultUnixFileConfig(new UnixFileIO(),getProperties());
        return inst;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy