org.ini4j
Class IniPreferences

java.lang.Object
  extended by java.util.prefs.Preferences
      extended by java.util.prefs.AbstractPreferences
          extended by org.ini4j.IniPreferences
Direct Known Subclasses:
IniFile

public class IniPreferences
extends java.util.prefs.AbstractPreferences


Nested Class Summary
protected  class IniPreferences.SectionPreferences
           
 
Field Summary
private  Ini _ini
          underlaying Ini implementation
private static java.lang.String[] EMPTY
          frequently used empty String array
 
Fields inherited from class java.util.prefs.AbstractPreferences
lock, newNode
 
Fields inherited from class java.util.prefs.Preferences
MAX_KEY_LENGTH, MAX_NAME_LENGTH, MAX_VALUE_LENGTH
 
Constructor Summary
IniPreferences(Ini ini)
          Constructs a new preferences node on top of Ini instance.
IniPreferences(java.io.InputStream input)
          Constructs a new preferences node based on newly loaded Ini instance.
IniPreferences(java.io.Reader input)
          Constructs a new preferences node based on newly loaded Ini instance.
IniPreferences(java.net.URL input)
          Constructs a new preferences node based on newly loaded Ini instance.
 
Method Summary
protected  java.lang.String[] childrenNamesSpi()
          Implements the childrenNamesSpi method as per the specification in AbstractPreferences.childrenNamesSpi().
protected  java.util.prefs.AbstractPreferences childSpi(java.lang.String name)
          Implements the childSpi method as per the specification in AbstractPreferences.childSpi(String).
protected  void flushSpi()
          Implements the flushSpi method as per the specification in AbstractPreferences.flushSpi().
protected  Ini getIni()
          Provide access to underlaying Ini implementation.
protected  java.lang.String getSpi(java.lang.String key)
          Implements the getSpi method as per the specification in AbstractPreferences.getSpi(String).
protected  java.lang.String[] keysSpi()
          Implements the keysSpi method as per the specification in AbstractPreferences.keysSpi().
protected  void putSpi(java.lang.String key, java.lang.String value)
          Implements the putSpi method as per the specification in AbstractPreferences.putSpi(String,String).
protected  void removeNodeSpi()
          Implements the removeNodeSpi method as per the specification in AbstractPreferences.removeNodeSpi().
protected  void removeSpi(java.lang.String key)
          Implements the removeSpi method as per the specification in AbstractPreferences.removeSpi(String).
protected  void syncSpi()
          Implements the syncSpi method as per the specification in AbstractPreferences.syncSpi().
 
Methods inherited from class java.util.prefs.AbstractPreferences
absolutePath, addNodeChangeListener, addPreferenceChangeListener, cachedChildren, childrenNames, clear, exportNode, exportSubtree, flush, get, getBoolean, getByteArray, getChild, getDouble, getFloat, getInt, getLong, isRemoved, isUserNode, keys, name, node, nodeExists, parent, put, putBoolean, putByteArray, putDouble, putFloat, putInt, putLong, remove, removeNode, removeNodeChangeListener, removePreferenceChangeListener, sync, toString
 
Methods inherited from class java.util.prefs.Preferences
importPreferences, systemNodeForPackage, systemRoot, userNodeForPackage, userRoot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

private static final java.lang.String[] EMPTY
frequently used empty String array


_ini

private Ini _ini
underlaying Ini implementation

Constructor Detail

IniPreferences

public IniPreferences(Ini ini)
Constructs a new preferences node on top of Ini instance.

Parameters:
ini - underlaying Ini instance

IniPreferences

public IniPreferences(java.io.Reader input)
               throws java.io.IOException,
                      InvalidIniFormatException
Constructs a new preferences node based on newly loaded Ini instance. This is just a helper constructor, to make simpler constructing IniPreferences directly from Reader.

Parameters:
input - the Reader containing Ini data
Throws:
java.io.IOException - if an I/O error occured
InvalidIniFormatException - if Ini parsing error occured

IniPreferences

public IniPreferences(java.io.InputStream input)
               throws java.io.IOException,
                      InvalidIniFormatException
Constructs a new preferences node based on newly loaded Ini instance. This is just a helper constructor, to make simpler constructing IniPreferences directly from InputStream.

Parameters:
input - the InputStream containing Ini data
Throws:
java.io.IOException - if an I/O error occured
InvalidIniFormatException - if Ini parsing error occured

IniPreferences

public IniPreferences(java.net.URL input)
               throws java.io.IOException,
                      InvalidIniFormatException
Constructs a new preferences node based on newly loaded Ini instance. This is just a helper constructor, to make simpler constructing IniPreferences directly from URL.

Parameters:
input - the URL containing Ini data
Throws:
java.io.IOException - if an I/O error occured
InvalidIniFormatException - if Ini parsing error occured
Method Detail

childSpi

protected java.util.prefs.AbstractPreferences childSpi(java.lang.String name)
Implements the childSpi method as per the specification in AbstractPreferences.childSpi(String).

Specified by:
childSpi in class java.util.prefs.AbstractPreferences
Parameters:
name - child name
Returns:
child node

childrenNamesSpi

protected java.lang.String[] childrenNamesSpi()
                                       throws java.util.prefs.BackingStoreException
Implements the childrenNamesSpi method as per the specification in AbstractPreferences.childrenNamesSpi().

Specified by:
childrenNamesSpi in class java.util.prefs.AbstractPreferences
Returns:
an array containing the names of the children of this preference node.
Throws:
java.util.prefs.BackingStoreException - if this operation cannot be completed due to a failure in the backing store, or inability to communicate with it.

flushSpi

protected void flushSpi()
                 throws java.util.prefs.BackingStoreException
Implements the flushSpi method as per the specification in AbstractPreferences.flushSpi(). This implementation does nothing.

Specified by:
flushSpi in class java.util.prefs.AbstractPreferences
Throws:
java.util.prefs.BackingStoreException - if this operation cannot be completed due to a failure in the backing store, or inability to communicate with it.

getSpi

protected java.lang.String getSpi(java.lang.String key)
                           throws java.lang.UnsupportedOperationException
Implements the getSpi method as per the specification in AbstractPreferences.getSpi(String). This implementation doesn't support this operation, so allways throws UnsupportedOperationException.

Specified by:
getSpi in class java.util.prefs.AbstractPreferences
Parameters:
key - key to getvalue for
Returns:
if the value associated with the specified key at this preference node, or null if there is no association for this key, or the association cannot be determined at this time.
Throws:
java.lang.UnsupportedOperationException - this implementation allways throws this exception

keysSpi

protected java.lang.String[] keysSpi()
                              throws java.util.prefs.BackingStoreException
Implements the keysSpi method as per the specification in AbstractPreferences.keysSpi(). This implementation allways return an empty array.

Specified by:
keysSpi in class java.util.prefs.AbstractPreferences
Returns:
an empty array.
Throws:
java.util.prefs.BackingStoreException - if this operation cannot be completed due to a failure in the backing store, or inability to communicate with it.

putSpi

protected void putSpi(java.lang.String key,
                      java.lang.String value)
               throws java.lang.UnsupportedOperationException
Implements the putSpi method as per the specification in AbstractPreferences.putSpi(String,String). This implementation doesn;t support this operation, so allways throws UnsupportedOperationException.

Specified by:
putSpi in class java.util.prefs.AbstractPreferences
Parameters:
key - key to set value for
value - new value for key
Throws:
java.lang.UnsupportedOperationException - this implementation allways throws this exception

removeNodeSpi

protected void removeNodeSpi()
                      throws java.util.prefs.BackingStoreException,
                             java.lang.UnsupportedOperationException
Implements the removeNodeSpi method as per the specification in AbstractPreferences.removeNodeSpi(). This implementation doesn;t support this operation, so allways throws UnsupportedOperationException.

Specified by:
removeNodeSpi in class java.util.prefs.AbstractPreferences
Throws:
java.lang.UnsupportedOperationException - this implementation allways throws this exception
java.util.prefs.BackingStoreException - this implementation never throws this exception

removeSpi

protected void removeSpi(java.lang.String key)
                  throws java.lang.UnsupportedOperationException
Implements the removeSpi method as per the specification in AbstractPreferences.removeSpi(String).

Specified by:
removeSpi in class java.util.prefs.AbstractPreferences
Parameters:
key - key to remove
Throws:
java.lang.UnsupportedOperationException - this implementation allways throws this exception

syncSpi

protected void syncSpi()
                throws java.util.prefs.BackingStoreException
Implements the syncSpi method as per the specification in AbstractPreferences.syncSpi(). This implementation does nothing.

Specified by:
syncSpi in class java.util.prefs.AbstractPreferences
Throws:
java.util.prefs.BackingStoreException - if this operation cannot be completed due to a failure in the backing store, or inability to communicate with it.

getIni

protected Ini getIni()
Provide access to underlaying Ini implementation.

Returns:
Ini implementation