package net.sourceforge.c4jplugin.internal.ui.preferences; import net.sourceforge.c4jplugin.C4JActivator; import net.sourceforge.c4jplugin.internal.decorators.C4JDecorator; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.IScopeContext; import org.eclipse.jface.preference.IPreferenceStore; import org.osgi.service.prefs.BackingStoreException; public class C4JPreferences { // Automation Preferences // ------------------------------------ public static final String ASK_PDE_AUTO_IMPORT = C4JActivator.PLUGIN_ID + ".preferences.askPdeAutoImport"; //$NON-NLS-1$ public static final String DO_PDE_AUTO_IMPORT = C4JActivator.PLUGIN_ID + ".preferences.doPdeAutoImport"; //$NON-NLS-1$ public static final String ASK_PDE_AUTO_REMOVE_IMPORT = C4JActivator.PLUGIN_ID + ".preferences.askPdeAutoRemoveImport"; //$NON-NLS-1$ public static final String DO_PDE_AUTO_REMOVE_IMPORT = C4JActivator.PLUGIN_ID + ".preferences.doPdeAutoRemoveImport"; //$NON-NLS-1$ public static final String DO_APT_AUTO_ENABLE = C4JActivator.PLUGIN_ID + ".preferences.doAptAutoEnable"; public static final String ASK_APT_AUTO_ENABLE = C4JActivator.PLUGIN_ID + ".preferences.askAptAutoEnable"; public static final String APT_AUTO_ENABLE_DONE = C4JActivator.PLUGIN_ID + ".preferences.aptAutoEnableDone"; public static final String DO_APT_AUTO_DISABLE = C4JActivator.PLUGIN_ID + ".preferences.doAptAutoDisable"; public static final String ASK_APT_AUTO_DISABLE = C4JActivator.PLUGIN_ID + ".preferences.askAptAutoDisable"; // Decoration Preferences // ------------------------------ public static final String DECORATION_CONTRACTED_CLASSES = C4JActivator.PLUGIN_ID + ".preferences.decorationContractedClasses"; public static final String DECORATION_CONTRACTED_METHODS = C4JActivator.PLUGIN_ID + ".preferences.decorationContractedMethods"; public static final String DECORATION_CONTRACTS = C4JActivator.PLUGIN_ID + ".preferences.decorationContracts"; public static final String DECORATION_CONTRACT_METHODS = C4JActivator.PLUGIN_ID + ".preferences.decorationContractMethods"; public static final String DECORATION_POSITION = C4JActivator.PLUGIN_ID + ".preferences.decorationPosition"; /** * Helper set method * * @param ask * true if the user wants to be asked again about having auto * import c4j library upon adding c4j nature to PDE project. */ static public void setAskPDEAutoImport(boolean ask) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(ASK_PDE_AUTO_IMPORT, ask); } /** * Helper get method used to determine whether to ask the user if they want * to auto import the c4j library from the appropriate plugin. * * @return boolean true if user is to be asked */ static public boolean askPDEAutoImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(ASK_PDE_AUTO_IMPORT); } static public boolean defaultAskPDEAutoImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(ASK_PDE_AUTO_IMPORT); } static public void setDoPDEAutoImport(boolean doImport) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DO_PDE_AUTO_IMPORT, doImport); } static public boolean doPDEAutoImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DO_PDE_AUTO_IMPORT); } static public boolean defaultDoPDEAutoImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DO_PDE_AUTO_IMPORT); } /** * Helper set method * * @param ask * true if the user wants to be asked again about having auto * removal of aspectj runtime library import upon removing aspectj nature * from PDE projects. */ static public void setAskPDEAutoRemoveImport(boolean ask) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(ASK_PDE_AUTO_REMOVE_IMPORT, ask); } /** * Helper get method used to determine whether to ask the user if they want * to automatically remove the the aspectj runtime library import from the * appropriate plugin. * * @return boolean true if user is to be asked */ static public boolean askPDEAutoRemoveImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(ASK_PDE_AUTO_REMOVE_IMPORT); } static public boolean defaultAskPDEAutoRemoveImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(ASK_PDE_AUTO_REMOVE_IMPORT); } static public void setDoPDEAutoRemoveImport(boolean doImport) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DO_PDE_AUTO_REMOVE_IMPORT, doImport); } static public boolean doPDEAutoRemoveImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DO_PDE_AUTO_REMOVE_IMPORT); } static public boolean defaultDoPDEAutoRemoveImport() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DO_PDE_AUTO_REMOVE_IMPORT); } static public boolean doAptAutoEnable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DO_APT_AUTO_ENABLE); } static public boolean defaultDoAptAutoEnable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DO_APT_AUTO_ENABLE); } static public void setDoAptAutoEnable(boolean enable) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DO_APT_AUTO_ENABLE, enable); } static public boolean askAptAutoEnable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(ASK_APT_AUTO_ENABLE); } static public boolean defaultAskAptAutoEnable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(ASK_APT_AUTO_ENABLE); } static public void setAskAptAutoEnable(boolean enable) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(ASK_APT_AUTO_ENABLE, enable); } static public boolean doAptAutoDisable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DO_APT_AUTO_DISABLE); } static public boolean defaultDoAptAutoDisable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DO_APT_AUTO_DISABLE); } static public void setDoAptAutoDisable(boolean enable) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DO_APT_AUTO_DISABLE, enable); } static public boolean askAptAutoDisable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(ASK_APT_AUTO_DISABLE); } static public boolean defaultAskAptAutoDisable() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(ASK_APT_AUTO_DISABLE); } static public void setAskAptAutoDisable(boolean enable) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(ASK_APT_AUTO_DISABLE, enable); } // Decoration Preferences // ----------------------------------------------- static public int getDecorationPosition() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getInt(DECORATION_POSITION); } static public int getDefaultDecorationPosition() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultInt(DECORATION_POSITION); } static public void setDecorationPosition(int pos) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DECORATION_POSITION, pos); C4JDecorator.setPosition(pos); } static public boolean getDecorateContractedClasses() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DECORATION_CONTRACTED_CLASSES); } static public boolean getDefaultDecorateContractedClasses() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DECORATION_CONTRACTED_CLASSES); } static public void setDecorateContractedClasses(boolean value) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DECORATION_CONTRACTED_CLASSES, value); C4JDecorator.setDecorateContractedClasses(value); } static public boolean getDecorateContractedMethods() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DECORATION_CONTRACTED_METHODS); } static public boolean getDefaultDecorateContractedMethods() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DECORATION_CONTRACTED_METHODS); } static public void setDecorateContractedMethods(boolean value) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DECORATION_CONTRACTED_METHODS, value); C4JDecorator.setDecorateContractedMethods(value); } static public boolean getDecorateContracts() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DECORATION_CONTRACTS); } static public boolean getDefaultDecorateContracts() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DECORATION_CONTRACTS); } static public void setDecorateContracts(boolean value) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DECORATION_CONTRACTS, value); C4JDecorator.setDecorateContracts(value); } static public boolean getDecorateContractMethods() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(DECORATION_CONTRACT_METHODS); } static public boolean getDefaultDecorateContractMethods() { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(DECORATION_CONTRACT_METHODS); } static public void setDecorateContractMethods(boolean value) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(DECORATION_CONTRACT_METHODS, value); C4JDecorator.setDecorateContractMethods(value); } static public boolean doChangeLaunchConfig(String identifier) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(identifier); } static public boolean askChangeLaunchConfig(String identifier) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getBoolean(identifier + "_ask"); } static public boolean defaultDoChangeLaunchConfig(String identifier) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(identifier); } static public boolean defaultAskChangeLaunchConfig(String identifier) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); return store.getDefaultBoolean(identifier); } static public void setDoChangeLaunchConfig(String identifier, boolean value) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(identifier, value); } static public void setAskChangeLaunchConfig(String identifier, boolean value) { IPreferenceStore store = C4JActivator.getDefault() .getPreferenceStore(); store.setValue(identifier + "_ask", value); } // Project Scope Preferences // ------------------------------------------------------------- static public boolean isAptAutoEnableDone(IProject project) { IScopeContext projectScope = new ProjectScope(project); IEclipsePreferences projectNode = projectScope .getNode(C4JActivator.PLUGIN_ID); return projectNode.getBoolean(APT_AUTO_ENABLE_DONE, false); } static public void setAptAutoEnableDone(IProject project, boolean value) { IScopeContext projectScope = new ProjectScope(project); IEclipsePreferences projectNode = projectScope .getNode(C4JActivator.PLUGIN_ID); projectNode.putBoolean(APT_AUTO_ENABLE_DONE, value); try { projectNode.flush(); } catch (BackingStoreException e) { } } }