PQT_Gestionnaire_vent_stock/Workspace/core/src/main/java/com/pqt/core/entities/server_config/ServerConfig.java

55 lines
1.4 KiB
Java

package com.pqt.core.entities.server_config;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
public class ServerConfig {
private Map<ConfigFields, Boolean> fields;
public ServerConfig() {
fields = new HashMap<>();
}
public ServerConfig(Map<ConfigFields, Boolean> fields) {
this.fields = fields;
}
public ServerConfig(ConfigFields... configFields) {
fields = new HashMap<>();
Arrays.stream(configFields).forEach(field->fields.put(field, true));
EnumSet.allOf(ConfigFields.class).stream().filter(field->!fields.containsKey(field)).forEach(field->fields.put(field, false));
}
public Map<ConfigFields, Boolean> getFields() {
return fields;
}
public void setFields(Map<ConfigFields, Boolean> fields) {
this.fields = fields;
}
public boolean isSupported(ConfigFields field){
return fields.containsKey(field) && fields.get(field);
}
public void switchFieldValue(ConfigFields field){
if(fields.containsKey(field)){
fields.replace(field, !fields.get(field));
}else{
fields.put(field, true);
}
}
public boolean add(ConfigFields field, boolean value){
if(!fields.containsKey(field)){
fields.put(field, value);
return true;
}
return false;
}
}