gnu.java.util.prefs

Class MemoryBasedPreferences


public class MemoryBasedPreferences
extends AbstractPreferences

A Preference node which holds all entries in memory

Field Summary

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

MemoryBasedPreferences(MemoryBasedPreferences parent, String name, boolean isUser)
Creates a new preferences node with the given name and parent.

Method Summary

protected AbstractPreferences
childSpi(String childName)
Returns a new node with the given name with as parent this node and with the isUser flag set to the same value as this node.
protected String[]
childrenNamesSpi()
Returns an empty array since all children names are always already cached.
protected void
flushSpi()
Does nothing since we do not have any backing store.
protected String
getSpi(String key)
Returns the associated value from this nodes preferences entries or null when the key has not been set.
boolean
isUserNode()
Returns true if this node was created as a user node.
protected String[]
keysSpi()
Returns a (possibly empty) array of keys of the preferences entries of this node.
protected void
putSpi(String key, String value)
Sets the value for the given key.
protected void
removeNodeSpi()
Just removes the entries map of this node.
protected void
removeSpi(String key)
Removes the entry with the given key.
protected void
syncSpi()
Does nothing since we do not have any backing store.

Methods inherited from class java.util.prefs.AbstractPreferences

absolutePath, addNodeChangeListener, addPreferenceChangeListener, cachedChildren, childSpi, childrenNames, childrenNamesSpi, clear, exportNode, exportSubtree, flush, flushSpi, get, getBoolean, getByteArray, getChild, getDouble, getFloat, getInt, getLong, getSpi, isRemoved, isUserNode, keys, keysSpi, name, node, nodeExists, parent, put, putBoolean, putByteArray, putDouble, putFloat, putInt, putLong, putSpi, remove, removeNode, removeNodeChangeListener, removeNodeSpi, removePreferenceChangeListener, removeSpi, sync, syncSpi, toString

Methods inherited from class java.util.prefs.Preferences

absolutePath, addNodeChangeListener, addPreferenceChangeListener, childrenNames, clear, exportNode, exportSubtree, flush, get, getBoolean, getByteArray, getDouble, getFloat, getInt, getLong, importPreferences, isUserNode, keys, name, node, nodeExists, parent, put, putBoolean, putByteArray, putDouble, putFloat, putInt, putLong, remove, removeNode, removeNodeChangeListener, removePreferenceChangeListener, sync, systemNodeForPackage, systemRoot, toString, userNodeForPackage, userRoot

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

MemoryBasedPreferences

public MemoryBasedPreferences(MemoryBasedPreferences parent,
                              String name,
                              boolean isUser)
Creates a new preferences node with the given name and parent. When isUser is true it will be user node otherwise it will be a system node. It will always set the newNode field to true since there is no real backing store, so all nodes are new.

Method Details

childSpi

protected AbstractPreferences childSpi(String childName)
Returns a new node with the given name with as parent this node and with the isUser flag set to the same value as this node.
Overrides:
childSpi in interface AbstractPreferences

childrenNamesSpi

protected String[] childrenNamesSpi()
            throws BackingStoreException
Returns an empty array since all children names are always already cached.
Overrides:
childrenNamesSpi in interface AbstractPreferences

flushSpi

protected void flushSpi()
Does nothing since we do not have any backing store.
Overrides:
flushSpi in interface AbstractPreferences

getSpi

protected String getSpi(String key)
Returns the associated value from this nodes preferences entries or null when the key has not been set.
Overrides:
getSpi in interface AbstractPreferences

isUserNode

public boolean isUserNode()
Returns true if this node was created as a user node.
Overrides:
isUserNode in interface AbstractPreferences

keysSpi

protected String[] keysSpi()
            throws BackingStoreException
Returns a (possibly empty) array of keys of the preferences entries of this node.
Overrides:
keysSpi in interface AbstractPreferences

putSpi

protected void putSpi(String key,
                      String value)
Sets the value for the given key.
Overrides:
putSpi in interface AbstractPreferences

removeNodeSpi

protected void removeNodeSpi()
Just removes the entries map of this node.
Overrides:
removeNodeSpi in interface AbstractPreferences

removeSpi

protected void removeSpi(String key)
Removes the entry with the given key.
Overrides:
removeSpi in interface AbstractPreferences

syncSpi

protected void syncSpi()
Does nothing since we do not have any backing store.
Overrides:
syncSpi in interface AbstractPreferences

MemoryBasedPreferences - A Preference node which holds all entries in memory Copyright (C) 2001, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 2, or (at your option) any later version. GNU Classpath 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 GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.