net.refractions.udig.catalog
Class RemotePreferenceStore

java.lang.Object
  extended by net.refractions.udig.catalog.RemotePreferenceStore

public abstract class RemotePreferenceStore
extends java.lang.Object

An abstract preference store implementation for remote preference stores. This class is quite similar to org.eclipse.jface.preference.PreferenceStore, with the exception that it loads and saves its values from a remote source on startup and shutdown, respectively.

Author:
chorner

Constructor Summary
RemotePreferenceStore()
           
 
Method Summary
 void addPropertyChangeListener(IPropertyChangeListener listener)
           
 boolean contains(java.lang.String name)
           
 void firePropertyChangeEvent(java.lang.String name, java.lang.Object oldValue, java.lang.Object newValue)
           
 boolean getBoolean(java.lang.String name)
           
 boolean getDefaultBoolean(java.lang.String name)
           
 double getDefaultDouble(java.lang.String name)
           
 float getDefaultFloat(java.lang.String name)
           
 int getDefaultInt(java.lang.String name)
           
 long getDefaultLong(java.lang.String name)
           
 java.lang.String getDefaultString(java.lang.String name)
           
 double getDouble(java.lang.String name)
           
 float getFloat(java.lang.String name)
           
 int getInt(java.lang.String name)
           
 long getLong(java.lang.String name)
           
 java.lang.String getString(java.lang.String name)
           
protected abstract  java.lang.String getValue(java.lang.String name)
          Obtains the remote value for the specified preference.
 boolean isDefault(java.lang.String name)
           
abstract  boolean isKey(java.lang.String name)
          Determines if the key specified exists in the remote store.
protected  void load()
          This is the initial hit of the remote store.
 boolean needsSaving()
           
 java.lang.String[] preferenceNames()
          Returns an enumeration of all preferences known to this store which have current values other than their default value.
abstract  void putValue(java.lang.String name, java.lang.String value)
          Stores a remote value for the preference with the specified key.
 void removePropertyChangeListener(IPropertyChangeListener listener)
           
 void save()
           
 void setDefault(java.lang.String name, boolean value)
           
 void setDefault(java.lang.String name, double value)
           
 void setDefault(java.lang.String name, float value)
           
 void setDefault(java.lang.String name, int value)
           
 void setDefault(java.lang.String name, long value)
           
 void setDefault(java.lang.String name, java.lang.String value)
           
 void setToDefault(java.lang.String name)
           
 void setValue(java.lang.String name, boolean value)
           
 void setValue(java.lang.String name, double value)
           
 void setValue(java.lang.String name, float value)
           
 void setValue(java.lang.String name, int value)
           
 void setValue(java.lang.String name, long value)
           
 void setValue(java.lang.String name, java.lang.String value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemotePreferenceStore

public RemotePreferenceStore()
Method Detail

getValue

protected abstract java.lang.String getValue(java.lang.String name)
Obtains the remote value for the specified preference. Subclasses must implement.

Parameters:
name - key
Returns:
String value

putValue

public abstract void putValue(java.lang.String name,
                              java.lang.String value)
Stores a remote value for the preference with the specified key. Subclasses must implement.


isKey

public abstract boolean isKey(java.lang.String name)
Determines if the key specified exists in the remote store.

Parameters:
name - key of the preference
Returns:
true if key exists

load

protected void load()
This is the initial hit of the remote store. All methods that read or write will check to ensure we've interacted with the store prior to doing anything.


save

public void save()
          throws java.io.IOException
Throws:
java.io.IOException

addPropertyChangeListener

public void addPropertyChangeListener(IPropertyChangeListener listener)

contains

public boolean contains(java.lang.String name)

firePropertyChangeEvent

public void firePropertyChangeEvent(java.lang.String name,
                                    java.lang.Object oldValue,
                                    java.lang.Object newValue)

getBoolean

public boolean getBoolean(java.lang.String name)

getDefaultBoolean

public boolean getDefaultBoolean(java.lang.String name)

getDefaultDouble

public double getDefaultDouble(java.lang.String name)

getDefaultFloat

public float getDefaultFloat(java.lang.String name)

getDefaultInt

public int getDefaultInt(java.lang.String name)

getDefaultLong

public long getDefaultLong(java.lang.String name)

getDefaultString

public java.lang.String getDefaultString(java.lang.String name)

getDouble

public double getDouble(java.lang.String name)

getFloat

public float getFloat(java.lang.String name)

getInt

public int getInt(java.lang.String name)

getLong

public long getLong(java.lang.String name)

getString

public java.lang.String getString(java.lang.String name)

isDefault

public boolean isDefault(java.lang.String name)

needsSaving

public boolean needsSaving()

preferenceNames

public java.lang.String[] preferenceNames()
Returns an enumeration of all preferences known to this store which have current values other than their default value.

Returns:
an array of preference names

removePropertyChangeListener

public void removePropertyChangeListener(IPropertyChangeListener listener)

setDefault

public void setDefault(java.lang.String name,
                       double value)

setDefault

public void setDefault(java.lang.String name,
                       float value)

setDefault

public void setDefault(java.lang.String name,
                       int value)

setDefault

public void setDefault(java.lang.String name,
                       long value)

setDefault

public void setDefault(java.lang.String name,
                       java.lang.String value)

setDefault

public void setDefault(java.lang.String name,
                       boolean value)

setToDefault

public void setToDefault(java.lang.String name)

setValue

public void setValue(java.lang.String name,
                     double value)

setValue

public void setValue(java.lang.String name,
                     float value)

setValue

public void setValue(java.lang.String name,
                     int value)

setValue

public void setValue(java.lang.String name,
                     long value)

setValue

public void setValue(java.lang.String name,
                     java.lang.String value)

setValue

public void setValue(java.lang.String name,
                     boolean value)