aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java/util/prefs
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2016-09-30 16:24:48 +0000
committerAndrew Haley <aph@gcc.gnu.org>2016-09-30 16:24:48 +0000
commit07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch)
tree3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/gnu/java/util/prefs
parenteae993948bae8b788c53772bcb9217c063716f93 (diff)
downloadgcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.zip
gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.gz
gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.bz2
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com> * Makefile.def: Remove libjava. * Makefile.tpl: Likewise. * Makefile.in: Regenerate. * configure.ac: Likewise. * configure: Likewise. * gcc/java: Remove. * libjava: Likewise. From-SVN: r240662
Diffstat (limited to 'libjava/classpath/gnu/java/util/prefs')
-rw-r--r--libjava/classpath/gnu/java/util/prefs/FileBasedFactory.java65
-rw-r--r--libjava/classpath/gnu/java/util/prefs/FileBasedPreferences.java273
-rw-r--r--libjava/classpath/gnu/java/util/prefs/GConfBasedFactory.java78
-rw-r--r--libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java419
-rw-r--r--libjava/classpath/gnu/java/util/prefs/MemoryBasedFactory.java64
-rw-r--r--libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java144
-rw-r--r--libjava/classpath/gnu/java/util/prefs/NodeReader.java221
-rw-r--r--libjava/classpath/gnu/java/util/prefs/NodeWriter.java319
-rw-r--r--libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java286
-rw-r--r--libjava/classpath/gnu/java/util/prefs/package.html46
10 files changed, 0 insertions, 1915 deletions
diff --git a/libjava/classpath/gnu/java/util/prefs/FileBasedFactory.java b/libjava/classpath/gnu/java/util/prefs/FileBasedFactory.java
deleted file mode 100644
index 91ea861..0000000
--- a/libjava/classpath/gnu/java/util/prefs/FileBasedFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/* FileBasedFactory - Default Classpath implementation of a PreferencesFactory
- Copyright (C) 2001 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. */
-
-package gnu.java.util.prefs;
-
-import java.util.prefs.*;
-
-/**
- * Default Classpath implementation of a PreferencesFactory.
- * Returns system and user root Preferences nodes that are read from files.
- *
- * @author Mark Wielaard (mark@klomp.org)
- */
-public class FileBasedFactory implements PreferencesFactory {
-
- // We don't save or read any system preferences for the
- // time being.
- private static final Preferences systemPreferences
- = new MemoryBasedPreferences(null, "", false);
-
- private static final Preferences userPreferences
- = new FileBasedPreferences();
-
- public Preferences systemRoot() {
- return systemPreferences;
- }
-
- public Preferences userRoot() {
- return userPreferences;
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/FileBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/FileBasedPreferences.java
deleted file mode 100644
index f89ed6b..0000000
--- a/libjava/classpath/gnu/java/util/prefs/FileBasedPreferences.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/* FileBasedPreferences.java -- File-based preference implementation
- Copyright (C) 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. */
-
-
-package gnu.java.util.prefs;
-
-import gnu.classpath.SystemProperties;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.nio.channels.FileChannel;
-import java.nio.channels.FileLock;
-import java.util.Properties;
-import java.util.prefs.AbstractPreferences;
-import java.util.prefs.BackingStoreException;
-
-/**
- * This is a simple file-based preference implementation which writes
- * the preferences as properties files. A node is represented as a directory
- * beneath the user's home directory. The preferences for the node are
- * stored in a single properties file in that directory. Sub-nodes are
- * stored in subdirectories. This implementation uses file locking to
- * mediate access to the properties files.
- */
-public class FileBasedPreferences
- extends AbstractPreferences
-{
- /**
- * Name of the property file storing the data in a given directory.
- */
- private static final String DATA_FILE = "data.properties";
-
- /**
- * The directory corresponding to this preference node.
- */
- private File directory;
-
- /**
- * The file holding the data for this node.
- */
- private File dataFile;
-
- /**
- * The data in this node.
- */
- private Properties properties;
-
- /**
- * Create the root node for the file-based preferences.
- */
- FileBasedPreferences()
- {
- super(null, "");
- String home = SystemProperties.getProperty("user.home");
- this.directory = new File(new File(home, ".classpath"), "userPrefs");
- this.dataFile = new File(this.directory, DATA_FILE);
- load();
- }
-
- /**
- * Create a new file-based preference object with the given parent
- * and the given name.
- * @param parent the parent
- * @param name the name of this node
- */
- FileBasedPreferences(FileBasedPreferences parent, String name)
- {
- super(parent, name);
- this.directory = new File(parent.directory, name);
- this.dataFile = new File(this.directory, DATA_FILE);
- load();
- }
-
- private void load()
- {
- this.properties = new Properties();
- FileInputStream fis = null;
- FileLock lock = null;
- try
- {
- fis = new FileInputStream(this.dataFile);
- FileChannel channel = fis.getChannel();
- lock = channel.lock(0, Long.MAX_VALUE, true);
- this.properties.load(fis);
- // We release the lock and close the stream in the 'finally'
- // clause.
- }
- catch (IOException _)
- {
- // We don't mind; this means we're making a new node.
- newNode = true;
- }
- finally
- {
- try
- {
- // Release the lock and close the stream.
- if (lock != null)
- lock.release();
- }
- catch (IOException ignore)
- {
- // Ignore.
- }
- try
- {
- // Close the stream.
- if (fis != null)
- fis.close();
- }
- catch (IOException ignore)
- {
- // Ignore.
- }
- }
- }
-
- public boolean isUserNode()
- {
- // For now file preferences are always user nodes.
- return true;
- }
-
- protected String[] childrenNamesSpi() throws BackingStoreException
- {
- // FIXME: security manager.
- String[] result = directory.list(new FilenameFilter()
- {
- public boolean accept(File dir, String name)
- {
- return new File(dir, name).isDirectory();
- }
- });
- if (result == null)
- result = new String[0];
- return result;
- }
-
- protected AbstractPreferences childSpi(String name)
- {
- return new FileBasedPreferences(this, name);
- }
-
- protected String[] keysSpi() throws BackingStoreException
- {
- return (String[]) properties.keySet().toArray(new String[0]);
- }
-
- protected String getSpi(String key)
- {
- return properties.getProperty(key);
- }
-
- protected void putSpi(String key, String value)
- {
- properties.put(key, value);
- }
-
- protected void removeSpi(String key)
- {
- properties.remove(key);
- }
-
- protected void flushSpi() throws BackingStoreException
- {
- // FIXME: security manager.
- try
- {
- if (isRemoved())
- {
- // Delete the underlying file.
- // FIXME: ideally we would also delete the directory
- // if it had no subdirectories. This doesn't matter
- // much though.
- // FIXME: there's a strange race here if a different VM is
- // simultaneously updating this node.
- dataFile.delete();
- }
- else
- {
- // Write the underlying file.
- directory.mkdirs();
-
- FileOutputStream fos = null;
- FileLock lock = null;
- try
- {
- // Note that we let IOExceptions from the try clause
- // propagate to the outer 'try'.
- fos = new FileOutputStream(dataFile);
- FileChannel channel = fos.getChannel();
- lock = channel.lock();
- properties.store(fos, "created by GNU Classpath FileBasedPreferences");
- // Lock is released and file closed in the finally clause.
- }
- finally
- {
- try
- {
- if (lock != null)
- lock.release();
- }
- catch (IOException _)
- {
- // Ignore.
- }
- try
- {
- if (fos != null)
- fos.close();
- }
- catch (IOException _)
- {
- // Ignore.
- }
- }
- }
- }
- catch (IOException ioe)
- {
- throw new BackingStoreException(ioe);
- }
- }
-
- protected void syncSpi() throws BackingStoreException
- {
- // FIXME: we ought to synchronize but instead we merely flush.
- flushSpi();
- }
-
- protected void removeNodeSpi() throws BackingStoreException
- {
- // We can simply delegate.
- flushSpi();
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/GConfBasedFactory.java b/libjava/classpath/gnu/java/util/prefs/GConfBasedFactory.java
deleted file mode 100644
index f5a1894..0000000
--- a/libjava/classpath/gnu/java/util/prefs/GConfBasedFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/* GConfBasedFactory.java -- GConf based PreferencesFactory implementation
- Copyright (C) 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. */
-
-package gnu.java.util.prefs;
-
-import java.util.prefs.Preferences;
-import java.util.prefs.PreferencesFactory;
-
-/**
- * Factory object that generates a Preferences nodes that are read from a GConf
- * daemon.
- *
- * @author Mario Torre <neugens@limasoftware.net>
- */
-public class GConfBasedFactory implements PreferencesFactory
-{
- /** System preference root. */
- private static final Preferences systemPreferences
- = new GConfBasedPreferences(null, "", false);
-
- /** User preference root. */
- private static final Preferences userPreferences
- = new GConfBasedPreferences(null, "", true);
-
- /**
- * Returns the system root preference node.
- *
- * @see java.util.prefs.PreferencesFactory#systemRoot()
- */
- public Preferences systemRoot()
- {
- return systemPreferences;
- }
-
- /**
- * Returns the user root preference node corresponding to the calling user.
- *
- * @see java.util.prefs.PreferencesFactory#userRoot()
- */
- public Preferences userRoot()
- {
- return userPreferences;
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java
deleted file mode 100644
index e3374ee..0000000
--- a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/* GConfBasedPreferences.java -- GConf based Preferences implementation
- Copyright (C) 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. */
-
-package gnu.java.util.prefs;
-
-import gnu.java.util.prefs.gconf.GConfNativePeer;
-
-import java.security.Permission;
-
-import java.util.List;
-import java.util.prefs.AbstractPreferences;
-import java.util.prefs.BackingStoreException;
-
-/**
- * This is a GConf based preference implementation which writes the preferences
- * as GConf key-value pairs. System Root is defined to be the
- * <code>"/system"</code> directory of GConf for the current user, while User
- * Root is <code>"/apps/java"</code>. These defaults can be modified by
- * defining two system properties:<br />
- * <br />
- * User Root:<br />
- * <br />
- *
- * <pre>
- * gnu.java.util.prefs.gconf.user_root
- * </pre>
- *
- * <br />
- * <br />
- * and System Root:<br />
- * <br />
- *
- * <pre>
- * gnu.java.util.prefs.gconf.system_root
- * </pre>
- *
- * <br />
- *
- * @author Mario Torre <neugens@limasoftware.net>
- */
-public class GConfBasedPreferences
- extends AbstractPreferences
-{
- /** Get access to Runtime permission */
- private static final Permission PERMISSION
- = new RuntimePermission("preferences");
-
- /** CGonf client backend */
- private static GConfNativePeer backend = new GConfNativePeer();
-
- /** Default user root path */
- private static final String DEFAULT_USER_ROOT = "/apps/classpath";
-
- /** Default system root path */
- private static final String DEFAULT_SYSTEM_ROOT = "/system";
-
- /** current node full path */
- private String node = "";
-
- /** True if this is a preference node in the user tree, false otherwise. */
- private final boolean isUser;
-
- /**
- * Creates a preference root user node.
- */
- public GConfBasedPreferences()
- {
- this(true);
- }
-
- /**
- * Creates a preference root node. When <code>isUser</code> is true it will
- * be user node otherwise it will be a system node.
- */
- public GConfBasedPreferences(boolean isUser)
- {
- this(null, "", isUser);
- }
-
- /**
- * Creates a new preference node given a parent node and a name, which has to
- * be relative to its parent. When <code>isUser</code> is true it will be user
- * node otherwise it will be a system node.
- *
- * @param parent The parent node of this newly created node.
- * @param name A name relative to the parent node.
- * @param isUser Set to <code>true</code> initializes this node to be
- * a user node, <code>false</code> initialize it to be a system node.
- */
- public GConfBasedPreferences(AbstractPreferences parent, String name,
- boolean isUser)
- {
- super(parent, name);
- this.isUser = isUser;
-
- // stores the fully qualified name of this node
- String absolutePath = this.absolutePath();
- if (absolutePath != null && absolutePath.endsWith("/"))
- {
- absolutePath = absolutePath.substring(0, absolutePath.length() - 1);
- }
-
- // strip invalid characters
- // please, note that all names are unescaped into the native peer
- int index = absolutePath.lastIndexOf('/');
- if (index > -1)
- {
- absolutePath = absolutePath.substring(0, index + 1);
- absolutePath = absolutePath + GConfNativePeer.escapeString(name);
- }
-
- this.node = this.getRealRoot(isUser) + absolutePath;
-
- boolean nodeExist = backend.nodeExist(this.node);
-
- this.newNode = !nodeExist;
- }
-
- /**
- * Returns a child node with the given name.
- * If the child node does not exists, it will be created.
- *
- * @param name The name of the requested node.
- * @return A new reference to the node, creating the node if it is necessary.
- */
- protected AbstractPreferences childSpi(String name)
- {
- // we don't check anything here, if the node is a new node this will be
- // detected in the constructor, so we simply return a new reference to
- // the requested node.
-
- GConfBasedPreferences preferenceNode
- = new GConfBasedPreferences(this, name, this.isUser);
-
- return preferenceNode;
- }
-
- /**
- * Returns an array of names of the children of this preference node.
- * If the current node does not have children, the returned array will be
- * of <code>size</code> 0 (that is, not <code>null</code>).
- *
- * @return A <code>String</code> array of names of children of the current
- * node.
- * @throws BackingStoreException if this operation cannot be completed.
- */
- protected String[] childrenNamesSpi() throws BackingStoreException
- {
- List<String> nodeList = backend.getChildrenNodes(this.node);
- String[] nodes = new String[nodeList.size()];
- nodeList.toArray(nodes);
-
- return nodes;
- }
-
- /**
- * Suggest a flush to the backend. Actually, this is only a suggestion as
- * GConf handles this for us asynchronously. More over, both sync and flush
- * have the same meaning in this class, so calling sync has exactly the same
- * effect.
- *
- * @see #sync
- * @throws BackingStoreException if this operation cannot be completed.
- */
- public void flush() throws BackingStoreException
- {
- backend.suggestSync();
- }
-
- /**
- * Request a flush.
- *
- * @see #flush
- * @throws BackingStoreException if this operation cannot be completed.
- */
- protected void flushSpi() throws BackingStoreException
- {
- this.flush();
- }
-
- /**
- * Returns all of the key in this preference node.
- * If the current node does not have preferences, the returned array will be
- * of size zero.
- *
- * @return A <code>String</code> array of keys stored under the current
- * node.
- * @throws BackingStoreException if this operation cannot be completed.
- */
- protected String[] keysSpi() throws BackingStoreException
- {
- List<String> keyList = backend.getKeys(this.node);
- String[] keys = new String[keyList.size()];
- keyList.toArray(keys);
-
- return keys;
- }
-
- /**
- * Does a recursive postorder traversal of the preference tree, starting from
- * the given directory invalidating every preference found in the node.
- *
- * @param directory The name of the starting directory (node)
- */
- private void postorderRemove(String directory)
- {
- try
- {
- // gets the listing of directories in this node
- List<String> dirs = backend.getChildrenNodes(directory);
-
- if (dirs.size() != 0)
- {
- for (String currentDir : dirs)
- {
- // recursive search inside this directory
- postorderRemove(currentDir);
- }
- }
-
- // remove all the keys associated to this directory
- List<String> entries = backend.getKeys(directory);
-
- if (entries.size() != 0)
- {
- for (String key : entries)
- {
- this.removeSpi(key);
- }
- }
- }
- catch (BackingStoreException ex)
- {
- /* ignore */
- }
- }
-
- /**
- * Stores the given key-value pair into this preference node.
- *
- * @param key The key of this preference.
- * @param value The value of this preference.
- */
- protected void putSpi(String key, String value)
- {
- backend.setString(this.getGConfKey(key), value);
- }
-
- /**
- * Removes this preference node, including all its children.
- * Also removes the preferences associated.
- */
- protected void removeNodeSpi() throws BackingStoreException
- {
- this.postorderRemove(this.node);
- this.flush();
- }
-
- /**
- * Removes the given key from this preference node.
- * If the key does not exist, no operation is performed.
- *
- * @param key The key to remove.
- */
- protected void removeSpi(String key)
- {
- backend.unset(this.getGConfKey(key));
- }
-
- /**
- * Suggest a sync to the backend. Actually, this is only a suggestion as GConf
- * handles this for us asynchronously. More over, both sync and flush have the
- * same meaning in this class, so calling flush has exactly the same effect.
- *
- * @see #flush
- * @throws BackingStoreException if this operation cannot be completed due to
- * a failure in the backing store, or inability to communicate with
- * it.
- */
- public void sync() throws BackingStoreException
- {
- this.flush();
- }
-
- /**
- * Request a sync.
- *
- * @see #sync
- * @throws BackingStoreException if this operation cannot be completed due to
- * a failure in the backing store, or inability to communicate with
- * it.
- */
- protected void syncSpi() throws BackingStoreException
- {
- this.sync();
- }
-
- /**
- * Returns the value of the given key.
- * If the keys does not have a value, or there is an error in the backing
- * store, <code>null</code> is returned instead.
- *
- * @param key The key to retrieve.
- * @return The value associated with the given key.
- */
- protected String getSpi(String key)
- {
- return backend.getKey(this.getGConfKey(key));
- }
-
- /**
- * Returns <code>true</code> if this preference node is a user node,
- * <code>false</code> if is a system preference node.
- *
- * @return <code>true</code> if this preference node is a user node,
- * <code>false</code> if is a system preference node.
- */
- public boolean isUserNode()
- {
- return this.isUser;
- }
-
- /*
- * PRIVATE METHODS
- */
-
- /**
- * Builds a GConf key string suitable for operations on the backend.
- *
- * @param key The key to convert into a valid GConf key.
- * @return A valid Gconf key.
- */
- private String getGConfKey(String key)
- {
- String nodeName = "";
-
- // strip key
- // please, note that all names are unescaped into the native peer
- key = GConfNativePeer.escapeString(key);
-
- if (this.node.endsWith("/"))
- {
- nodeName = this.node + key;
- }
- else
- {
- nodeName = this.node + "/" + key;
- }
-
- return nodeName;
- }
-
- /**
- * Builds the root node to use for this preference.
- *
- * @param isUser Defines if this node is a user (<code>true</code>) or system
- * (<code>false</code>) node.
- * @return The real root of this preference tree.
- */
- private String getRealRoot(boolean isUser)
- {
- // not sure about this, we should have already these permissions...
- SecurityManager security = System.getSecurityManager();
-
- if (security != null)
- {
- security.checkPermission(PERMISSION);
- }
-
- String root = null;
-
- if (isUser)
- {
- root = System.getProperty("gnu.java.util.prefs.gconf.user_root",
- DEFAULT_USER_ROOT);
- }
- else
- {
- root = System.getProperty("gnu.java.util.prefs.gconf.system_root",
- DEFAULT_SYSTEM_ROOT);
- }
-
- return root;
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/MemoryBasedFactory.java b/libjava/classpath/gnu/java/util/prefs/MemoryBasedFactory.java
deleted file mode 100644
index 32ed12f..0000000
--- a/libjava/classpath/gnu/java/util/prefs/MemoryBasedFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/* MemoryBasedFactory - Memory based PreferencesFactory usefull for testing
- Copyright (C) 2001 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. */
-
-package gnu.java.util.prefs;
-
-import java.util.prefs.*;
-
-/**
- * Memory based PreferencesFactory useful for testing.
- * Returns completely empty Preferences for system and user roots.
- * All changes are only backed by the current instances in memory.
- *
- * @author Mark Wielaard (mark@klomp.org)
- */
-public class MemoryBasedFactory implements PreferencesFactory {
-
- // Static fields containing the preferences root nodes
- private static final Preferences systemPreferences
- = new MemoryBasedPreferences(null, "", false);
- private static final Preferences userPreferences
- = new MemoryBasedPreferences(null, "", true);
-
- public Preferences systemRoot() {
- return systemPreferences;
- }
-
- public Preferences userRoot() {
- return userPreferences;
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java
deleted file mode 100644
index ee184d1..0000000
--- a/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/* 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. */
-
-package gnu.java.util.prefs;
-
-import java.util.HashMap;
-
-import java.util.prefs.*;
-
-/**
- * A Preference node which holds all entries in memory
- *
- * @author Mark Wielaard (mark@klomp.org)
- */
-public class MemoryBasedPreferences extends AbstractPreferences {
-
- /** True if this is a preference node in the user tree, false otherwise. */
- private final boolean isUser;
-
- /** Contains all the preference entries of this node. */
- private HashMap<String, String> entries = new HashMap<String, String>();
-
- /**
- * 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 <code>newNode</code> field to true
- * since there is no real backing store, so all nodes are new.
- */
- public MemoryBasedPreferences(MemoryBasedPreferences parent,
- String name,
- boolean isUser) {
- super(parent, name);
- this.isUser = isUser;
-
- // Since we do not have a real backing store all nodes are new
- newNode = true;
- }
-
- /**
- * Returns true if this node was created as a user node.
- */
- public boolean isUserNode() {
- return isUser;
- }
-
- /**
- * Returns an empty array since all children names are always already
- * cached.
- */
- protected String[] childrenNamesSpi() throws BackingStoreException {
- return new String[0];
- }
-
- /**
- * Returns a new node with the given name with as parent this node and
- * with the <code>isUser</code> flag set to the same value as this node.
- */
- protected AbstractPreferences childSpi(String childName) {
- return new MemoryBasedPreferences(this, childName, isUser);
- }
-
- /**
- * Returns a (possibly empty) array of keys of the preferences entries of
- * this node.
- */
- protected String[] keysSpi() throws BackingStoreException {
- return entries.keySet().toArray(new String[entries.size()]);
- }
-
- /**
- * Returns the associated value from this nodes preferences entries or
- * null when the key has not been set.
- */
- protected String getSpi(String key) {
- return entries.get(key);
- }
-
- /**
- * Sets the value for the given key.
- */
- protected void putSpi(String key, String value) {
- entries.put(key, value);
- }
-
- /**
- * Removes the entry with the given key.
- */
- protected void removeSpi(String key) {
- entries.remove(key);
- }
-
- /**
- * Does nothing since we do not have any backing store.
- */
- protected void flushSpi() {
- }
-
- /**
- * Does nothing since we do not have any backing store.
- */
- protected void syncSpi() {
- }
-
- /**
- * Just removes the entries map of this node.
- */
- protected void removeNodeSpi() {
- entries = null;
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/NodeReader.java b/libjava/classpath/gnu/java/util/prefs/NodeReader.java
deleted file mode 100644
index 0a49fc7..0000000
--- a/libjava/classpath/gnu/java/util/prefs/NodeReader.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/* NodeReader - Reads and imports preferences nodes from files
- Copyright (C) 2001 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. */
-
-package gnu.java.util.prefs;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.prefs.InvalidPreferencesFormatException;
-import java.util.prefs.Preferences;
-import java.util.prefs.PreferencesFactory;
-
-/**
- * Reads and imports preferences nodes from files.
- *
- * @author Mark Wielaard (mark@klomp.org)
- */
-public class NodeReader {
-
- private final BufferedReader br;
- private String line = "";
-
- private final PreferencesFactory factory;
-
- public NodeReader(Reader r, PreferencesFactory factory) {
- if(r instanceof BufferedReader) {
- br = (BufferedReader) r;
- } else {
- br = new BufferedReader(r);
- }
- this.factory = factory;
- }
-
- public NodeReader(InputStream is, PreferencesFactory factory) {
- this(new InputStreamReader(is), factory);
- }
-
- public void importPreferences()
- throws InvalidPreferencesFormatException, IOException
- {
- readPreferences();
- }
-
- private void readPreferences()
- throws InvalidPreferencesFormatException, IOException
- {
- // Begin starting tag
- skipTill("<preferences");
-
- readRoot();
-
- // Ending tag
- skipTill("</preferences>");
- }
-
- private void readRoot()
- throws InvalidPreferencesFormatException, IOException
- {
- // Begin starting tag
- skipTill("<root");
-
- // type attribute
- skipTill("type=\"");
- String type = readTill("\"");
- Preferences root;
- if ("user".equals(type)) {
- root = factory.userRoot();
- } else if ("system".equals(type)) {
- root = factory.systemRoot();
- } else {
- throw new InvalidPreferencesFormatException("Unknown type: "
- + type);
- }
-
- // Read root map and subnodes
- readMap(root);
- readNodes(root);
-
- // Ending tag
- skipTill("</root>");
- }
-
- private void readNodes(Preferences node)
- throws InvalidPreferencesFormatException, IOException
- {
- while ("node".equals(nextTag())) {
- skipTill("<node");
- skipTill("name=\"");
- String name = readTill("\"");
- Preferences subnode = node.node(name);
- readMap(subnode);
- readNodes(subnode);
- skipTill("</node>");
- }
-
- }
-
- private void readMap(Preferences node)
- throws InvalidPreferencesFormatException, IOException
- {
- // Begin map tag
- skipTill("<map");
-
- // Empty map?
- if (line.startsWith("/>")) {
- line = line.substring(2);
- return;
- }
-
- // Map entries
- readEntries(node);
-
- // Ending tag
- skipTill("</map>");
- }
-
- private void readEntries(Preferences node)
- throws InvalidPreferencesFormatException, IOException
- {
- while ("entry".equals(nextTag())) {
- skipTill("<entry");
- skipTill("key=\"");
- String key = readTill("\"");
- skipTill("value=\"");
- String value = readTill("\"");
- node.put(key, value);
- }
- }
-
- private void skipTill(String s)
- throws InvalidPreferencesFormatException, IOException
- {
- while(true) {
- if (line == null)
- throw new InvalidPreferencesFormatException(s + " not found");
-
- int index = line.indexOf(s);
- if (index == -1) {
- line = br.readLine();
- } else {
- line = line.substring(index+s.length());
- return;
- }
- }
- }
-
- private String readTill(String s)
- throws InvalidPreferencesFormatException
- {
- int index = line.indexOf(s);
- if (index == -1)
- throw new InvalidPreferencesFormatException(s + " not found");
-
- String read = line.substring(0, index);
- line = line.substring(index+s.length());
-
- return read;
- }
-
- private String nextTag()
- throws InvalidPreferencesFormatException, IOException
- {
- while(true) {
- if (line == null)
- throw new InvalidPreferencesFormatException("unexpected EOF");
-
- int start = line.indexOf("<");
- if (start == -1) {
- line = br.readLine();
- } else {
- // Find end of tag
- int end = start+1;
- while (end != line.length()
- && " \t\r\n".indexOf(line.charAt(end)) == -1) {
- end++;
- }
- // Line now starts at the found tag
- String tag = line.substring(start+1,end);
- line = line.substring(start);
- return tag;
- }
- }
- }
-
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/NodeWriter.java b/libjava/classpath/gnu/java/util/prefs/NodeWriter.java
deleted file mode 100644
index 3e4f972..0000000
--- a/libjava/classpath/gnu/java/util/prefs/NodeWriter.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/* NodeWriter - Writes and exports preferences nodes to files
- 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. */
-
-package gnu.java.util.prefs;
-
-import gnu.java.lang.CPStringBuilder;
-
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-
-import java.util.StringTokenizer;
-
-import java.util.prefs.*;
-
-/**
- * Writes and exports preferences nodes to files
- *
- * @author Mark Wielaard (mark@klomp.org)
- */
-public class NodeWriter {
-
- /** The Preferences node to write. */
- private final Preferences prefs;
-
- /** The bufferedWriter to write the node to. */
- private final BufferedWriter bw;
-
- /**
- * True if the complete sub tree should be written,
- * false if only the node should be written.
- */
- private boolean subtree;
-
- /**
- * Creates a new NodeWriter for the given preferences node and
- * outputstream. Creates a new OutputStreamWriter.
- */
- public NodeWriter(Preferences prefs, OutputStream os) {
- this.prefs = prefs;
- Writer w;
- try
- {
- w = new OutputStreamWriter(os, "UTF-8");
- }
- catch (UnsupportedEncodingException uee)
- {
- // Shouldn't happen, since we always have UTF-8 available.
- InternalError ie = new InternalError("UTF-8 encoding missing");
- ie.initCause(uee);
- throw ie;
- }
- this.bw = new BufferedWriter(w);
- }
-
- /**
- * Writes the preference node plus the complete subtree.
- */
- public void writePrefsTree() throws BackingStoreException, IOException {
- subtree = true;
- writeHeader();
- writePreferences();
- bw.flush();
- }
-
- /**
- * Writes only the preference node.
- */
- public void writePrefs() throws BackingStoreException, IOException {
- subtree = false;
- writeHeader();
- writePreferences();
- bw.flush();
- }
-
- /**
- * Writes the standard header.
- */
- private void writeHeader() throws BackingStoreException, IOException {
- bw.write("<?xml version=\"1.0\"?>");
- bw.newLine();
- bw.write("<!DOCTYPE preferences SYSTEM "
- + "\"http://java.sun.com/dtd/preferences.dtd\">");
- bw.newLine();
- bw.newLine();
- bw.write("<!-- GNU Classpath java.util.prefs Preferences ");
-
- if (prefs.isUserNode()) {
- bw.write("user");
- } else {
- bw.write("system");
- }
-
- // root node?
- if (prefs.parent() == null) {
- bw.write(" root");
- }
-
- if (subtree) {
- bw.write(" tree");
- } else {
- bw.write(" node");
- }
-
- // no root?
- if (prefs.parent() != null) {
- bw.newLine();
- bw.write(" '");
- bw.write(prefs.absolutePath());
- bw.write('\'');
- bw.newLine();
- }
- bw.write(" -->");
- bw.newLine();
- bw.newLine();
- }
-
- /**
- * Write the preferences tag and the root.
- */
- private void writePreferences() throws BackingStoreException, IOException {
- bw.write("<preferences>");
- bw.newLine();
- writeRoot();
- bw.write("</preferences>");
- bw.newLine();
- }
-
- private void writeRoot() throws BackingStoreException, IOException {
- bw.write(" <root type=\"");
- if (prefs.isUserNode()) {
- bw.write("user");
- } else {
- bw.write("system");
- }
- bw.write("\">");
-
- writeRootMap();
- writeNode();
-
- bw.write(" </root>");
- bw.newLine();
- }
-
- private void writeRootMap() throws BackingStoreException, IOException {
- // Is it a root node?
- if(prefs.parent() == null && prefs.keys().length > 0) {
- bw.newLine();
- writeMap(prefs, 2);
- } else {
- bw.write("<map/>");
- bw.newLine();
- }
- }
-
- /**
- * Writes all the parents of the preferences node without any entries.
- * Returns the number of parents written, which has to be used as
- * argument to <code>writeCloseParents()</code> after writing the node
- * itself.
- */
- private int writeParents() throws IOException {
- int parents;
- String path = prefs.absolutePath();
- int lastslash = path.lastIndexOf("/");
- if (lastslash > 0) {
- path = path.substring(1, lastslash);
- StringTokenizer st = new StringTokenizer(path);
- parents = st.countTokens();
-
- for (int i=0; i<parents; i++) {
- String name = st.nextToken();
- indent(i+2);
- bw.write("<node name=\"" + name + "\">");
- bw.write("<map/>");
- bw.write("</node>");
- bw.newLine();
- }
- } else {
- parents = 0;
- }
-
- return parents;
- }
-
- private void writeCloseParents(int parents) throws IOException {
- while(parents > 0) {
- indent(parents+1);
- bw.write("</node>");
- bw.newLine();
- parents--;
- }
- }
-
- private void writeNode() throws BackingStoreException, IOException {
- int parents = writeParents();
- // root?
- int indent;
- if (prefs.parent() == null) {
- indent = parents+1;
- } else {
- indent = parents+2;
- }
- writeNode(prefs, indent);
- writeCloseParents(parents);
- }
-
- private void writeNode(Preferences node, int indent)
- throws BackingStoreException, IOException
- {
- // not root?
- if (node.parent() != null) {
- indent(indent);
- bw.write("<node name=\"" + node.name() + "\">");
- if (node.keys().length > 0) {
- bw.newLine();
- }
- writeMap(node, indent+1);
- }
-
- if (subtree) {
- String[] children = node.childrenNames();
- for (int i=0; i<children.length; i++) {
- Preferences child = node.node(children[i]);
- writeNode(child, indent+1);
- }
- }
-
- // not root?
- if (node.parent() != null) {
- indent(indent);
- bw.write("</node>");
- bw.newLine();
- }
- }
-
- private void writeMap(Preferences node, int indent)
- throws BackingStoreException, IOException
- {
- // construct String used for indentation
- CPStringBuilder indentBuffer = new CPStringBuilder(2*indent);
- for (int i=0; i < indent; i++)
- indentBuffer.append(" ");
- String indentString = indentBuffer.toString();
-
- if (node.keys().length > 0) {
- bw.write(indentString);
- bw.write("<map>");
- bw.newLine();
- writeEntries(node, indentString + " ");
- bw.write(indentString);
- bw.write("</map>");
- } else {
- bw.write("<map/>");
- }
- bw.newLine();
- }
-
- private void writeEntries(Preferences node, String indent)
- throws BackingStoreException, IOException
- {
- String[] keys = node.keys();
- for(int i = 0; i < keys.length; i++) {
- String value = node.get(keys[i], null);
- if (value == null) {
- throw new BackingStoreException("null value for key '"
- + keys[i] + "'");
- }
-
- bw.write(indent);
- bw.write("<entry key=\"" + keys[i] + "\""
- + " value=\"" + value + "\"/>");
- bw.newLine();
- }
- }
-
- private void indent(int x) throws IOException {
- for (int i=0; i<x; i++) {
- bw.write(" ");
- }
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java
deleted file mode 100644
index 64fc049..0000000
--- a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/* GConfNativePeer.java -- GConf based preference peer for native methods
- Copyright (C) 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. */
-
-
-package gnu.java.util.prefs.gconf;
-
-import java.util.List;
-import java.util.prefs.BackingStoreException;
-
-/**
- * Native peer for GConf based preference backend.
- *
- * @author Mario Torre <neugens@limasoftware.net>
- */
-public final class GConfNativePeer
-{
- /**
- * Creates a new instance of GConfNativePeer
- */
- public GConfNativePeer()
- {
- init_class();
- }
-
- /**
- * Queries whether the node <code>node</code> exists in theGConf database.
- * Returns <code>true</code> or <code>false</code>.
- *
- * @param node the node to check.
- */
- public boolean nodeExist(String node)
- {
- return gconf_dir_exists(node);
- }
-
- /**
- * Change the value of key to val. Automatically creates the key if it didn't
- * exist before (ie it was unset or it only had a default value).
- * Key names must be valid GConf key names, that is, there can be more
- * restrictions than for normal Preference Backend.
- *
- * @param key the key to alter (or add).
- * @param value the new value for this key.
- * @return true if the key was updated, false otherwise.
- */
- public boolean setString(String key, String value)
- {
- return gconf_set_string(key, value);
- }
-
- /**
- * Unsets the value of key; if key is already unset, has no effect. Depending
- * on the GConf daemon, unsetting a key may have the side effect to remove it
- * completely form the database.
- *
- * @param key the key to unset.
- * @return true on success, false if the key was not updated.
- */
- public boolean unset(String key)
- {
- return gconf_unset(key);
- }
-
- /**
- * Gets the value of a configuration key.
- *
- * @param key the configuration key.
- * @return the values of this key, null if the key is not valid.
- */
- public String getKey(String key)
- {
- return gconf_get_string(key);
- }
-
- /**
- * Lists the key in the given node. Does not list subnodes. Keys names are the
- * stripped names (name relative to the current node) of the keys stored in
- * this node.
- *
- * @param node the node where keys are stored.
- * @return a java.util.List of keys. If there are no keys in the given node, a
- * list of size 0 is returned.
- */
- public List<String> getKeys(String node) throws BackingStoreException
- {
- return gconf_all_keys(node);
- }
-
- /**
- * Lists the subnodes in <code>node</code>. The returned list contains
- * allocated strings. Each string is the name relative tho the given node.
- *
- * @param node the node to get subnodes from. If there are no subnodes in the
- * given node, a list of size 0 is returned.
- */
- public List<String> getChildrenNodes(String node) throws BackingStoreException
- {
- return gconf_all_nodes(node);
- }
-
- /**
- * Escape the given string so the it is a valid GConf name.
- */
- public static String escapeString(String plain)
- {
- return gconf_escape_key(plain);
- }
-
- /**
- * Unescape a string escaped with {@link #escapeString}.
- */
- public static String unescapeString(String escaped)
- {
- return gconf_unescape_key(escaped);
- }
-
- /**
- * Suggest to the backend GConf daemon to synch with the database.
- */
- public void suggestSync() throws BackingStoreException
- {
- gconf_suggest_sync();
- }
-
- protected void finalize() throws Throwable
- {
- try
- {
- finalize_class();
- }
- finally
- {
- super.finalize();
- }
- }
-
- /* ***** native methods ***** */
-
- /*
- * Basicly, these are one to one mappings to GConfClient functions.
- * GConfClient instances are handled by the native layer, and are hidden from
- * the main java class.
- */
-
- /**
- * Initialize the GConf native peer and enable the object cache.
- * It is meant to be used by the static initializer.
- */
- native synchronized static final private void init_id_cache();
-
- /**
- * Initialize the GConf native peer. This is meant to be used by the
- * class constructor.
- */
- native synchronized static final private void init_class();
-
- /**
- * Class finalizer.
- */
- native synchronized static final private void finalize_class();
-
- /**
- * Queries the GConf database to see if the given node exists, returning
- * true if the node exist, false otherwise.
- *
- * @param node the node to query for existence.
- * @return true if the node exist, false otherwise.
- */
- native synchronized
- static final protected boolean gconf_dir_exists(String node);
-
- /**
- * Sets the given key/value pair into the GConf database.
- * The key must be a valid GConf key.
- *
- * @param key the key to store in the GConf database
- * @param value the value to associate to the given key.
- * @return true if the change has effect, false otherwise.
- */
- native synchronized
- static final protected boolean gconf_set_string(String key, String value);
-
- /**
- * Returns the key associated to the given key. Null is returned if the
- * key is not valid.
- *
- * @param key the key to return the value of.
- * @return The value associated to the given key, or null.
- */
- native synchronized
- static final protected String gconf_get_string(String key);
-
- /**
- * Usets the given key, removing the key from the database.
- *
- * @param key the key to remove.
- * @return true if the operation success, false otherwise.
- */
- native synchronized static final protected boolean gconf_unset(String key);
-
- /**
- * Suggest to the GConf native peer a sync with the database.
- *
- */
- native synchronized static final protected void gconf_suggest_sync()
- throws BackingStoreException;
-
- /**
- * Returns a list of all nodes under the given node.
- *
- * @param node the source node.
- * @return A list of nodes under the given source node.
- */
- native
- static synchronized final protected List<String> gconf_all_nodes(String node)
- throws BackingStoreException;
-
- /**
- * Returns a list of all keys stored in the given node.
- *
- * @param node the source node.
- * @return A list of all keys stored in the given node.
- */
- native synchronized
- static final protected List<String> gconf_all_keys(String node)
- throws BackingStoreException;
-
- /**
- * Escape the input String so that it's a valid element for GConf.
- *
- * @param plain the String to escape.
- * @return An escaped String for use with GConf.
- */
- native synchronized
- static final protected String gconf_escape_key(String plain);
-
- /**
- * Converts a string escaped with gconf_escape_key back into its
- * original form.
- *
- * @param escaped key as returned by gconf_escape_key
- * @return An unescaped key.
- */
- native synchronized
- static final protected String gconf_unescape_key(String escaped);
-
- static
- {
- System.loadLibrary("gconfpeer");
- init_id_cache();
- }
-}
diff --git a/libjava/classpath/gnu/java/util/prefs/package.html b/libjava/classpath/gnu/java/util/prefs/package.html
deleted file mode 100644
index ee5d67f..0000000
--- a/libjava/classpath/gnu/java/util/prefs/package.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<!-- package.html - describes classes in gnu.java.util.prefs package.
- Copyright (C) 2005 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. -->
-
-<html>
-<head><title>GNU Classpath - gnu.java.util.prefs</title></head>
-
-<body>
-<p></p>
-
-</body>
-</html>