Тема: Core
Показать сообщение отдельно
Непрочитано 27.03.2014, 09:34   #27
Изгнанные

По умолчанию Re: Core

Мне вот что пришло в голову, что-то как-то так делать, на сколько это будет эффективно я не знаю...
config.properties:
PHP код:
#Config types:
boolean-BOOL=false
string
-STR=Name 
PHP код:
public class Config<Type> {
    
    private static 
Map<StringObjectconfig = new ConcurrentHashMap<>();
    private static 
String file "C:\\config.properties";
    
    public static 
void main(String[] argsthrows IOException {
        final 
Properties load = new Properties();
        
load.load(new FileInputStream(Config.file));
        for (final 
Entry<ObjectObjectentry load.entrySet()) {
            final 
String[] str = ((String) entry.getKey()).split("-");
            if (
== str.length) {
                switch (
str[0]) {
                    case 
"string":
                        
Config.config.put(str[1], String.valueOf(entry.getValue()));
                        break;
                    case 
"boolean":
                        
Config.config.put(str[1], Boolean.parseBoolean(String.valueOf(entry.getValue())));
                        break;
                }
            }
        }
        
//Вывод:
        
System.out.println(Config.get("STR")); // String - Name
        
System.out.println(Config.get("BOOL")); // Boolean - false
    
}
    
    public static <
TypeType get(final String key) {
        return (
TypeConfig.config.get(key);
    }

Но было бы очень удобно...
PHP код:
if("Name".equals(Config.get("STR"))) {
    
System.out.println(Config.get("STR")); // Name
}
if(
Config.get("BOOL")) {
    
System.out.println(Config.get("BOOL")); // true

lin вне форума Ответить с цитированием