Configuration -> add default values
This commit is contained in:
parent
1f2e30a7d1
commit
e2cf4f8542
2 changed files with 17 additions and 13 deletions
|
@ -46,17 +46,23 @@ public class Configuration {
|
||||||
this._file = new File(path);
|
this._file = new File(path);
|
||||||
System.out.println("Config on " + _file.getAbsolutePath());
|
System.out.println("Config on " + _file.getAbsolutePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public <T> Configuration addDefaultValue(String name, T value) throws Exception{
|
||||||
|
if(value == null) throw new IllegalArgumentException("Value cannot be null");
|
||||||
|
Field field = getClass().getDeclaredField(name);
|
||||||
|
field.setAccessible(true);
|
||||||
|
field.set(this, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public void load() throws Exception {
|
public void load() throws Exception{
|
||||||
if (!this._file.exists())
|
if(!this._file.exists()) return;
|
||||||
return;
|
|
||||||
BufferedReader reader = new BufferedReader(new FileReader(this._file));
|
BufferedReader reader = new BufferedReader(new FileReader(this._file));
|
||||||
String line;
|
String line;
|
||||||
while ((line = reader.readLine()) != null) {
|
while((line = reader.readLine()) != null){
|
||||||
String[] split = line.split("=");
|
String[] split = line.split("=");
|
||||||
Field field = getClass().getDeclaredField(split[0]);
|
Field field = getClass().getDeclaredField(split[0]);
|
||||||
if (field == null)
|
if(field == null) continue;
|
||||||
continue;
|
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
injectValue(field, split[1]);
|
injectValue(field, split[1]);
|
||||||
}
|
}
|
||||||
|
@ -110,10 +116,9 @@ public class Configuration {
|
||||||
}
|
}
|
||||||
Field[] fields = getClass().getDeclaredFields();
|
Field[] fields = getClass().getDeclaredFields();
|
||||||
BufferedWriter writer = new BufferedWriter(new FileWriter(_file));
|
BufferedWriter writer = new BufferedWriter(new FileWriter(_file));
|
||||||
for (Field field : fields) {
|
for(Field field : fields){
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
if (field.getName().startsWith("_"))
|
if(field.getName().startsWith("_")) continue;
|
||||||
continue;
|
|
||||||
Object value = field.get(this);
|
Object value = field.get(this);
|
||||||
writer.write(field.getName() + "=" + value);
|
writer.write(field.getName() + "=" + value);
|
||||||
}
|
}
|
||||||
|
@ -165,9 +170,7 @@ public class Configuration {
|
||||||
return this.use_ssl;
|
return this.use_ssl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUsersFiles() {
|
public String getUsersFiles(){
|
||||||
if (users_files == null || users_files.trim().isEmpty())
|
|
||||||
users_files = "/tmp/users_files";
|
|
||||||
return users_files;
|
return users_files;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,8 @@ import dev.peerat.framework.Router;
|
||||||
|
|
||||||
public class Main{
|
public class Main{
|
||||||
public static void main(String[] args) throws Exception{
|
public static void main(String[] args) throws Exception{
|
||||||
Configuration config = new Configuration("config.txt");
|
Configuration config = new Configuration("config.txt")
|
||||||
|
.addDefaultValue("users_files", "/tmp/users_files");
|
||||||
config.load();
|
config.load();
|
||||||
|
|
||||||
Class.forName("com.mysql.cj.jdbc.Driver");
|
Class.forName("com.mysql.cj.jdbc.Driver");
|
||||||
|
|
Loading…
Add table
Reference in a new issue