2 * Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
29 import java.util.prefs.*;
33 * XML Support for java.util.prefs. Methods to import and export preference
36 * @author Josh Bloch and Mark Reinhold
40 public abstract class PrefsXmlSupport {
41 public static PrefsXmlSupport getDefault() {
42 Iterator<PrefsXmlSupport> it = ServiceLoader.load(PrefsXmlSupport.class).iterator();
43 return it.hasNext() ? it.next() : new DefaultPrefsXmlSupport();
46 public abstract void export(OutputStream os, final Preferences p, boolean subTree)
47 throws IOException, BackingStoreException;
50 * Import preferences from the specified input stream, which is assumed
51 * to contain an XML document in the format described in the Preferences
54 * @throws IOException if reading from the specified output stream
55 * results in an <tt>IOException</tt>.
56 * @throws InvalidPreferencesFormatException Data on input stream does not
57 * constitute a valid XML document with the mandated document type.
59 public abstract void importPreferences(InputStream is)
60 throws IOException, InvalidPreferencesFormatException;
63 public abstract void importMap(InputStream is, Map m)
64 throws IOException, InvalidPreferencesFormatException;
66 public abstract void exportMap(OutputStream is, Map m)
67 throws IOException, InvalidPreferencesFormatException;