package org.goko.controller.tinyg.controller.prefs;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.goko.core.config.GkPreference;
public class TinyGPreferences extends GkPreference{
public static final String NODE = "org.goko.controller.tinyg";
public static final String HOMING_ENABLED_AXIS_X = "homingEnabledAxisX";
public static final String HOMING_ENABLED_AXIS_Y = "homingEnabledAxisY";
public static final String HOMING_ENABLED_AXIS_Z = "homingEnabledAxisZ";
public static final String HOMING_ENABLED_AXIS_A = "homingEnabledAxisA";
public static final String PLANNER_BUFFER_SPACE_CHECK = "plannerBufferSpaceCheck";
private static TinyGPreferences instance;
private TinyGPreferences(){
super(NODE);
}
public static TinyGPreferences getInstance() {
if(instance == null){
instance = new TinyGPreferences();
instance.initialiseValues();
}
return instance;
}
private void initialiseValues() {
getPreferenceStore().setDefault(HOMING_ENABLED_AXIS_X, "true");
getPreferenceStore().setDefault(HOMING_ENABLED_AXIS_Y, "true");
getPreferenceStore().setDefault(HOMING_ENABLED_AXIS_Z, "true");
getPreferenceStore().setDefault(HOMING_ENABLED_AXIS_A, "false");
getPreferenceStore().setDefault(PLANNER_BUFFER_SPACE_CHECK, "true");
if(StringUtils.isBlank(getPreferenceStore().getString(HOMING_ENABLED_AXIS_X))){
getPreferenceStore().setToDefault(HOMING_ENABLED_AXIS_X);
}
if(StringUtils.isBlank(getPreferenceStore().getString(HOMING_ENABLED_AXIS_Y))){
getPreferenceStore().setToDefault(HOMING_ENABLED_AXIS_Y);
}
if(StringUtils.isBlank(getPreferenceStore().getString(HOMING_ENABLED_AXIS_Z))){
getPreferenceStore().setToDefault(HOMING_ENABLED_AXIS_Z);
}
if(StringUtils.isBlank(getPreferenceStore().getString(HOMING_ENABLED_AXIS_A))){
getPreferenceStore().setToDefault(HOMING_ENABLED_AXIS_A);
}
if(StringUtils.isBlank(getPreferenceStore().getString(PLANNER_BUFFER_SPACE_CHECK))){
getPreferenceStore().setToDefault(PLANNER_BUFFER_SPACE_CHECK);
}
}
public boolean isHomingEnabledAxisX() {
return BooleanUtils.toBoolean(getPreferenceStore().getString(HOMING_ENABLED_AXIS_X));
}
public void setHomingEnabledAxisX(boolean enabled) {
getPreferenceStore().setValue(HOMING_ENABLED_AXIS_X, Boolean.valueOf(enabled));
}
public boolean isHomingEnabledAxisY() {
return BooleanUtils.toBoolean(getPreferenceStore().getString(HOMING_ENABLED_AXIS_Y));
}
public void setHomingEnabledAxisY(boolean enabled) {
getPreferenceStore().setValue(HOMING_ENABLED_AXIS_Y, Boolean.valueOf(enabled));
}
public boolean isHomingEnabledAxisZ() {
return BooleanUtils.toBoolean(getPreferenceStore().getString(HOMING_ENABLED_AXIS_Z));
}
public void setHomingEnabledAxisZ(boolean enabled) {
getPreferenceStore().setValue(HOMING_ENABLED_AXIS_Z, Boolean.valueOf(enabled));
}
public boolean isHomingEnabledAxisA() {
return BooleanUtils.toBoolean(getPreferenceStore().getString(HOMING_ENABLED_AXIS_A));
}
public void setHomingEnabledAxisA(boolean enabled) {
getPreferenceStore().setValue(HOMING_ENABLED_AXIS_A, Boolean.valueOf(enabled));
}
public boolean isPlannerBufferSpaceCheck() {
return BooleanUtils.toBoolean(getPreferenceStore().getString(PLANNER_BUFFER_SPACE_CHECK));
}
public void setPlannerBufferSpaceCheck(boolean enabled) {
getPreferenceStore().setValue(PLANNER_BUFFER_SPACE_CHECK, Boolean.valueOf(enabled));
}
}