org.goko.core.config.GkPreference.java Source code

Java tutorial

Introduction

Here is the source code for org.goko.core.config.GkPreference.java

Source

/*
 *   This file is part of Goko.
 *
 *  Goko is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  Goko is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with Goko.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.goko.core.config;

import java.io.IOException;

import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.goko.common.preferences.ScopedPreferenceStore;

public abstract class GkPreference implements IPreferenceStore, IPersistentPreferenceStore {
    private ScopedPreferenceStore store;

    public GkPreference(String id) {
        this(id, InstanceScope.INSTANCE);
    }

    public GkPreference(String id, IScopeContext scope) {
        store = new ScopedPreferenceStore(scope, id);
    }

    public ScopedPreferenceStore getPreferenceStore() {
        return store;
    }

    /**
     * @param listener
     * @see org.goko.common.preferences.ScopedPreferenceStore#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
     */
    public void addPropertyChangeListener(IPropertyChangeListener listener) {
        store.addPropertyChangeListener(listener);
    }

    /**
     * @param includeDefault
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getPreferenceNodes(boolean)
     */
    public IEclipsePreferences[] getPreferenceNodes(boolean includeDefault) {
        return store.getPreferenceNodes(includeDefault);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#contains(java.lang.String)
     */
    public boolean contains(String name) {
        return store.contains(name);
    }

    /**
     * @param obj
     * @return
     * @see java.lang.Object#equals(java.lang.Object)
     */
    public boolean equals(Object obj) {
        return store.equals(obj);
    }

    /**
     * @param scopes
     * @see org.goko.common.preferences.ScopedPreferenceStore#setSearchContexts(org.eclipse.core.runtime.preferences.IScopeContext[])
     */
    public void setSearchContexts(IScopeContext[] scopes) {
        store.setSearchContexts(scopes);
    }

    /**
     * @param name
     * @param oldValue
     * @param newValue
     * @see org.goko.common.preferences.ScopedPreferenceStore#firePropertyChangeEvent(java.lang.String, java.lang.Object, java.lang.Object)
     */
    public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
        store.firePropertyChangeEvent(name, oldValue, newValue);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getBoolean(java.lang.String)
     */
    public boolean getBoolean(String name) {
        return store.getBoolean(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDefaultBoolean(java.lang.String)
     */
    public boolean getDefaultBoolean(String name) {
        return store.getDefaultBoolean(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDefaultDouble(java.lang.String)
     */
    public double getDefaultDouble(String name) {
        return store.getDefaultDouble(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDefaultFloat(java.lang.String)
     */
    public float getDefaultFloat(String name) {
        return store.getDefaultFloat(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDefaultInt(java.lang.String)
     */
    public int getDefaultInt(String name) {
        return store.getDefaultInt(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDefaultLong(java.lang.String)
     */
    public long getDefaultLong(String name) {
        return store.getDefaultLong(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDefaultString(java.lang.String)
     */
    public String getDefaultString(String name) {
        return store.getDefaultString(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getDouble(java.lang.String)
     */
    public double getDouble(String name) {
        return store.getDouble(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getFloat(java.lang.String)
     */
    public float getFloat(String name) {
        return store.getFloat(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getInt(java.lang.String)
     */
    public int getInt(String name) {
        return store.getInt(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getLong(java.lang.String)
     */
    public long getLong(String name) {
        return store.getLong(name);
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#getString(java.lang.String)
     */
    public String getString(String name) {
        return store.getString(name);
    }

    /**
     * @return
     * @see java.lang.Object#hashCode()
     */
    public int hashCode() {
        return store.hashCode();
    }

    /**
     * @param name
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#isDefault(java.lang.String)
     */
    public boolean isDefault(String name) {
        return store.isDefault(name);
    }

    /**
     * @return
     * @see org.goko.common.preferences.ScopedPreferenceStore#needsSaving()
     */
    public boolean needsSaving() {
        return store.needsSaving();
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#putValue(java.lang.String, java.lang.String)
     */
    public void putValue(String name, String value) {
        store.putValue(name, value);
    }

    /**
     * @param listener
     * @see org.goko.common.preferences.ScopedPreferenceStore#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
     */
    public void removePropertyChangeListener(IPropertyChangeListener listener) {
        store.removePropertyChangeListener(listener);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setDefault(java.lang.String, double)
     */
    public void setDefault(String name, double value) {
        store.setDefault(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setDefault(java.lang.String, float)
     */
    public void setDefault(String name, float value) {
        store.setDefault(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setDefault(java.lang.String, int)
     */
    public void setDefault(String name, int value) {
        store.setDefault(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setDefault(java.lang.String, long)
     */
    public void setDefault(String name, long value) {
        store.setDefault(name, value);
    }

    /**
     * @param name
     * @param defaultObject
     * @see org.goko.common.preferences.ScopedPreferenceStore#setDefault(java.lang.String, java.lang.String)
     */
    public void setDefault(String name, String defaultObject) {
        store.setDefault(name, defaultObject);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setDefault(java.lang.String, boolean)
     */
    public void setDefault(String name, boolean value) {
        store.setDefault(name, value);
    }

    /**
     * @param name
     * @see org.goko.common.preferences.ScopedPreferenceStore#setToDefault(java.lang.String)
     */
    public void setToDefault(String name) {
        store.setToDefault(name);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setValue(java.lang.String, double)
     */
    public void setValue(String name, double value) {
        store.setValue(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setValue(java.lang.String, float)
     */
    public void setValue(String name, float value) {
        store.setValue(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setValue(java.lang.String, int)
     */
    public void setValue(String name, int value) {
        store.setValue(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setValue(java.lang.String, long)
     */
    public void setValue(String name, long value) {
        store.setValue(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setValue(java.lang.String, java.lang.String)
     */
    public void setValue(String name, String value) {
        store.setValue(name, value);
    }

    /**
     * @param name
     * @param value
     * @see org.goko.common.preferences.ScopedPreferenceStore#setValue(java.lang.String, boolean)
     */
    public void setValue(String name, boolean value) {
        store.setValue(name, value);
    }

    /** (inheritDoc)
     * @see org.eclipse.jface.preference.IPersistentPreferenceStore#save()
     */
    @Override
    public void save() throws IOException {
        store.save();
    }

    /**
     * @return
     * @see java.lang.Object#toString()
     */
    public String toString() {
        return store.toString();
    }

    //   
    //   /**
    //    * Constructor
    //    */
    //   protected GkPreference(String id) {
    //      preferences = InstanceScope.INSTANCE.getNode(id);      
    //      preferences = InstanceScope.INSTANCE.getNode(id+".defaultValues");      
    //   }
    //
    //   /**
    //    * @return the preferences
    //    */
    //   public IEclipsePreferences getPreferences() {
    //      return preferences;
    //   }
    //
    //   /**
    //    * @param preferences the preferences to set
    //    */
    //   protected void setPreferences(IEclipsePreferences preferences) {
    //      this.preferences = preferences;
    //   }
    //
    //   public void save() throws GkException{
    //      try {
    //         getPreferences().flush();
    //      } catch (BackingStoreException e) {
    //         throw new GkTechnicalException(e);
    //      }
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
    //    */
    //   @Override
    //   public void addPropertyChangeListener(IPropertyChangeListener listener) {
    //      
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#contains(java.lang.String)
    //    */
    //   @Override
    //   public boolean contains(String name) {
    //      try {
    //         return preferences.nodeExists(name);
    //      } catch (BackingStoreException e) {
    //         return false;
    //      }
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#firePropertyChangeEvent(java.lang.String, java.lang.Object, java.lang.Object)
    //    */
    //   @Override
    //   public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
    //      // TODO Auto-generated method stub
    //      
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getBoolean(java.lang.String)
    //    */
    //   @Override
    //   public boolean getBoolean(String name) {      
    //      return preferences.getBoolean(name, IPreferenceStore.BOOLEAN_DEFAULT_DEFAULT);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDefaultBoolean(java.lang.String)
    //    */
    //   @Override
    //   public boolean getDefaultBoolean(String name) {      
    //      return IPreferenceStore.BOOLEAN_DEFAULT_DEFAULT;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDefaultDouble(java.lang.String)
    //    */
    //   @Override
    //   public double getDefaultDouble(String name) {      
    //      return IPreferenceStore.DOUBLE_DEFAULT_DEFAULT;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDefaultFloat(java.lang.String)
    //    */
    //   @Override
    //   public float getDefaultFloat(String name) {
    //      return IPreferenceStore.FLOAT_DEFAULT_DEFAULT;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDefaultInt(java.lang.String)
    //    */
    //   @Override
    //   public int getDefaultInt(String name) {
    //      return IPreferenceStore.INT_DEFAULT_DEFAULT;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDefaultLong(java.lang.String)
    //    */
    //   @Override
    //   public long getDefaultLong(String name) {
    //      return IPreferenceStore.LONG_DEFAULT_DEFAULT;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDefaultString(java.lang.String)
    //    */
    //   @Override
    //   public String getDefaultString(String name) {
    //      return IPreferenceStore.STRING_DEFAULT_DEFAULT;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getDouble(java.lang.String)
    //    */
    //   @Override
    //   public double getDouble(String name) {
    //      return preferences.getDouble(name, IPreferenceStore.DOUBLE_DEFAULT_DEFAULT);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getFloat(java.lang.String)
    //    */
    //   @Override
    //   public float getFloat(String name) {
    //      return preferences.getFloat(name, IPreferenceStore.FLOAT_DEFAULT_DEFAULT);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getInt(java.lang.String)
    //    */
    //   @Override
    //   public int getInt(String name) {      
    //      return preferences.getInt(name, IPreferenceStore.INT_DEFAULT_DEFAULT);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getLong(java.lang.String)
    //    */
    //   @Override
    //   public long getLong(String name) {
    //      return preferences.getLong(name, IPreferenceStore.LONG_DEFAULT_DEFAULT);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#getString(java.lang.String)
    //    */
    //   @Override
    //   public String getString(String name) {
    //      return preferences.get(name, IPreferenceStore.STRING_DEFAULT_DEFAULT);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#isDefault(java.lang.String)
    //    */
    //   @Override
    //   public boolean isDefault(String name) {      
    //      return false;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#needsSaving()
    //    */
    //   @Override
    //   public boolean needsSaving() {
    //      return true;
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#putValue(java.lang.String, java.lang.String)
    //    */
    //   @Override
    //   public void putValue(String name, String value) {
    //      preferences.put(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
    //    */
    //   @Override
    //   public void removePropertyChangeListener(IPropertyChangeListener listener) {
    //      // TODO Auto-generated method stub
    //      
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setDefault(java.lang.String, double)
    //    */
    //   @Override
    //   public void setDefault(String name, double value) {
    //      defaultPreferences.putDouble(name, value);      
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setDefault(java.lang.String, float)
    //    */
    //   @Override
    //   public void setDefault(String name, float value) {
    //      defaultPreferences.putFloat(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setDefault(java.lang.String, int)
    //    */
    //   @Override
    //   public void setDefault(String name, int value) {
    //      defaultPreferences.putInt(name, value);      
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setDefault(java.lang.String, long)
    //    */
    //   @Override
    //   public void setDefault(String name, long value) {
    //      defaultPreferences.putLong(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setDefault(java.lang.String, java.lang.String)
    //    */
    //   @Override
    //   public void setDefault(String name, String value) {
    //      defaultPreferences.put(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setDefault(java.lang.String, boolean)
    //    */
    //   @Override
    //   public void setDefault(String name, boolean value) {
    //      defaultPreferences.putBoolean(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setToDefault(java.lang.String)
    //    */
    //   @Override
    //   public void setToDefault(String name) {
    //      preferences.put(name, defaultPreferences.get(name, STRING_DEFAULT_DEFAULT));
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setValue(java.lang.String, double)
    //    */
    //   @Override
    //   public void setValue(String name, double value) {
    //      preferences.putDouble(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setValue(java.lang.String, float)
    //    */
    //   @Override
    //   public void setValue(String name, float value) {
    //      preferences.putFloat(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setValue(java.lang.String, int)
    //    */
    //   @Override
    //   public void setValue(String name, int value) {
    //      preferences.putInt(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setValue(java.lang.String, long)
    //    */
    //   @Override
    //   public void setValue(String name, long value) {
    //      preferences.putLong(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setValue(java.lang.String, java.lang.String)
    //    */
    //   @Override
    //   public void setValue(String name, String value) {
    //      preferences.put(name, value);
    //   }
    //
    //   /** (inheritDoc)
    //    * @see org.eclipse.jface.preference.IPreferenceStore#setValue(java.lang.String, boolean)
    //    */
    //   @Override
    //   public void setValue(String name, boolean value) {
    //      preferences.putBoolean(name, value);
    //   }
}