/** * */ package org.goko.controller.g2core.controller.preferences; import org.apache.commons.lang3.BooleanUtils; import org.goko.controller.g2core.controller.G2Core; import org.goko.core.config.GkPreference; /** * @author Psyko * @date 11 janv. 2017 */ public class G2CorePreferences extends GkPreference { /** Preferences Node name */ public static final String NODE = "org.goko.controller.g2core"; /** Singleton instance */ private static G2CorePreferences instance; /** * Constructor */ private G2CorePreferences(){ super(NODE); } /** * Singleton access * @return G2CorePreferences */ public static G2CorePreferences getInstance() { if(instance == null){ instance = new G2CorePreferences(); } return instance; } /** * Getter for the HomingSequenceConfigured flag * @return <code>true</code> if the sequence is configured, <code>false</code> otherwise */ public boolean isHomingSequenceConfigured() { return BooleanUtils.toBoolean(getPreferenceStore().getString(G2Core.Preferences.HOMING_SEQUENCE_CONFIGURED)); } /** * Setter for the HomingSequenceConfigured flag * @param configured <code>true</code> if the sequence is configured, <code>false</code> otherwise */ public void setHomingSequenceConfigured(boolean configured) { getPreferenceStore().setValue(G2Core.Preferences.HOMING_SEQUENCE_CONFIGURED, Boolean.valueOf(configured)); } /** * Getter for the X Axis Homing Sequence flag * @return <code>true</code> if the homing is enabled on X axis, <code>false</code> otherwise */ public boolean isHomingEnabledAxisX() { return BooleanUtils.toBoolean(getPreferenceStore().getString(G2Core.Preferences.HOMING_ENABLED_AXIS_X)); } /** * Setter for the X Axis Homing Sequence flag * @param enabled <code>true</code> if the homing is enabled on X axis, <code>false</code> otherwise */ public void setHomingEnabledAxisX(boolean enabled) { getPreferenceStore().setValue(G2Core.Preferences.HOMING_ENABLED_AXIS_X, Boolean.valueOf(enabled)); } /** * Getter for the Y Axis Homing Sequence flag * @return <code>true</code> if the homing is enabled on Y axis, <code>false</code> otherwise */ public boolean isHomingEnabledAxisY() { return BooleanUtils.toBoolean(getPreferenceStore().getString(G2Core.Preferences.HOMING_ENABLED_AXIS_Y)); } /** * Setter for the Y Axis Homing Sequence flag * @param enabled <code>true</code> if the homing is enabled on Y axis, <code>false</code> otherwise */ public void setHomingEnabledAxisY(boolean enabled) { getPreferenceStore().setValue(G2Core.Preferences.HOMING_ENABLED_AXIS_Y, Boolean.valueOf(enabled)); } /** * Getter for the Z Axis Homing Sequence flag * @return <code>true</code> if the homing is enabled on Z axis, <code>false</code> otherwise */ public boolean isHomingEnabledAxisZ() { return BooleanUtils.toBoolean(getPreferenceStore().getString(G2Core.Preferences.HOMING_ENABLED_AXIS_Z)); } /** * Setter for the Z Axis Homing Sequence flag * @param enabled <code>true</code> if the homing is enabled on Z axis, <code>false</code> otherwise */ public void setHomingEnabledAxisZ(boolean enabled) { getPreferenceStore().setValue(G2Core.Preferences.HOMING_ENABLED_AXIS_Z, Boolean.valueOf(enabled)); } /** * Getter for the A Axis Homing Sequence flag * @return <code>true</code> if the homing is enabled on A axis, <code>false</code> otherwise */ public boolean isHomingEnabledAxisA() { return BooleanUtils.toBoolean(getPreferenceStore().getString(G2Core.Preferences.HOMING_ENABLED_AXIS_A)); } /** * Setter for the A Axis Homing Sequence flag * @param enabled <code>true</code> if the homing is enabled on A axis, <code>false</code> otherwise */ public void setHomingEnabledAxisA(boolean enabled) { getPreferenceStore().setValue(G2Core.Preferences.HOMING_ENABLED_AXIS_A, Boolean.valueOf(enabled)); } }