1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/src/share/classes/sun/util/xml/PrefsXmlSupport.java Wed Jun 24 13:44:46 2009 +0200
1.3 @@ -0,0 +1,69 @@
1.4 +/*
1.5 + * Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved.
1.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1.7 + *
1.8 + * This code is free software; you can redistribute it and/or modify it
1.9 + * under the terms of the GNU General Public License version 2 only, as
1.10 + * published by the Free Software Foundation. Sun designates this
1.11 + * particular file as subject to the "Classpath" exception as provided
1.12 + * by Sun in the LICENSE file that accompanied this code.
1.13 + *
1.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
1.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1.17 + * version 2 for more details (a copy is included in the LICENSE file that
1.18 + * accompanied this code).
1.19 + *
1.20 + * You should have received a copy of the GNU General Public License version
1.21 + * 2 along with this work; if not, write to the Free Software Foundation,
1.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1.23 + *
1.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
1.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
1.26 + * have any questions.
1.27 + */
1.28 +
1.29 +package sun.util.xml;
1.30 +
1.31 +import java.util.*;
1.32 +import java.util.prefs.*;
1.33 +import java.io.*;
1.34 +
1.35 +/**
1.36 + * XML Support for java.util.prefs. Methods to import and export preference
1.37 + * nodes and subtrees.
1.38 + *
1.39 + * @author Josh Bloch and Mark Reinhold
1.40 + * @see Preferences
1.41 + * @since 1.4
1.42 + */
1.43 +public abstract class PrefsXmlSupport {
1.44 + public static PrefsXmlSupport getDefault() {
1.45 + Iterator<PrefsXmlSupport> it = ServiceLoader.load(PrefsXmlSupport.class).iterator();
1.46 + return it.hasNext() ? it.next() : null /* JST-XXX: some default */;
1.47 + }
1.48 +
1.49 + public abstract void export(OutputStream os, final Preferences p, boolean subTree)
1.50 + throws IOException, BackingStoreException;
1.51 +
1.52 + /**
1.53 + * Import preferences from the specified input stream, which is assumed
1.54 + * to contain an XML document in the format described in the Preferences
1.55 + * spec.
1.56 + *
1.57 + * @throws IOException if reading from the specified output stream
1.58 + * results in an <tt>IOException</tt>.
1.59 + * @throws InvalidPreferencesFormatException Data on input stream does not
1.60 + * constitute a valid XML document with the mandated document type.
1.61 + */
1.62 + public abstract void importPreferences(InputStream is)
1.63 + throws IOException, InvalidPreferencesFormatException;
1.64 +
1.65 +
1.66 + public abstract void importMap(InputStream is, Map m)
1.67 + throws IOException, InvalidPreferencesFormatException;
1.68 +
1.69 + public abstract void exportMap(OutputStream is, Map m)
1.70 + throws IOException, InvalidPreferencesFormatException;
1.71 +
1.72 +}