001/* BackingStoreException.java - chained exception thrown when backing store
002   fails
003   Copyright (C) 2001, 2002, 2005  Free Software Foundation, Inc.
004
005This file is part of GNU Classpath.
006
007GNU Classpath is free software; you can redistribute it and/or modify
008it under the terms of the GNU General Public License as published by
009the Free Software Foundation; either version 2, or (at your option)
010any later version.
011
012GNU Classpath is distributed in the hope that it will be useful, but
013WITHOUT ANY WARRANTY; without even the implied warranty of
014MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
015General Public License for more details.
016
017You should have received a copy of the GNU General Public License
018along with GNU Classpath; see the file COPYING.  If not, write to the
019Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02002110-1301 USA.
021
022Linking this library statically or dynamically with other modules is
023making a combined work based on this library.  Thus, the terms and
024conditions of the GNU General Public License cover the whole
025combination.
026
027As a special exception, the copyright holders of this library give you
028permission to link this library with independent modules to produce an
029executable, regardless of the license terms of these independent
030modules, and to copy and distribute the resulting executable under
031terms of your choice, provided that you also meet, for each linked
032independent module, the terms and conditions of the license of that
033module.  An independent module is a module which is not derived from
034or based on this library.  If you modify this library, you may extend
035this exception to your version of the library, but you are not
036obligated to do so.  If you do not wish to do so, delete this
037exception statement from your version. */
038
039package java.util.prefs;
040
041import java.io.NotSerializableException;
042import java.io.ObjectInputStream;
043import java.io.ObjectOutputStream;
044
045/**
046 * Chained exception thrown when backing store fails. This exception is
047 * only thrown from methods that actually have to access the backing store,
048 * such as <code>clear(), keys(), childrenNames(), nodeExists(), removeNode(),
049 * flush(), sync(), exportNode(), exportSubTree()</code>; normal operations
050 * do not throw BackingStoreExceptions.
051 *
052 * <p>Note that although this class inherits the Serializable interface, an
053 * attempt to serialize will fail with a <code>NotSerializableException</code>.
054 *
055 * @author Mark Wielaard (mark@klomp.org)
056 * @since 1.4
057 * @status updated to 1.4
058 */
059public class BackingStoreException extends Exception
060{
061  static final long serialVersionUID = 859796500401108469L;
062
063  /**
064   * Creates a new exception with a descriptive message.
065   *
066   * @param message the message
067   */
068  public BackingStoreException(String message)
069  {
070    super(message);
071  }
072
073  /**
074   * Create a new exception with the given cause.
075   *
076   * @param cause the cause
077   */
078  public BackingStoreException(Throwable cause)
079  {
080    super(cause);
081  }
082
083  /**
084   * This class should not be serialized.
085   *
086   * @param o the output stream
087   */
088  private void writeObject(ObjectOutputStream o) throws NotSerializableException
089  {
090    throw new NotSerializableException
091      ("java.util.prefs.BackingStoreException");
092  }
093
094  /**
095   * This class should not be serialized.
096   *
097   * @param i the input stream
098   */
099  private void readObject(ObjectInputStream i) throws NotSerializableException
100  {
101    throw new NotSerializableException
102      ("java.util.prefs.BackingStoreException");
103  }
104}