325N/A/*
325N/A * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
325N/A *
325N/A * This code is free software; you can redistribute it and/or modify it
325N/A * under the terms of the GNU General Public License version 2 only, as
325N/A * published by the Free Software Foundation. Oracle designates this
325N/A * particular file as subject to the "Classpath" exception as provided
325N/A * by Oracle in the LICENSE file that accompanied this code.
325N/A *
325N/A * This code is distributed in the hope that it will be useful, but WITHOUT
325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
325N/A * version 2 for more details (a copy is included in the LICENSE file that
325N/A * accompanied this code).
325N/A *
325N/A * You should have received a copy of the GNU General Public License version
325N/A * 2 along with this work; if not, write to the Free Software Foundation,
325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
325N/A *
325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
325N/A * or visit www.oracle.com if you need additional information or have any
325N/A * questions.
325N/A *
325N/A * THIS FILE WAS MODIFIED BY SUN MICROSYSTEMS, INC.
325N/A */
325N/A
325N/Apackage com.sun.xml.internal.org.jvnet.fastinfoset;
325N/A
325N/Aimport java.util.Map;
325N/A
325N/A/**
325N/A * A general interface for parsers of fast infoset documents.
325N/A *
325N/A * <p>
325N/A * This interface contains common methods that are not specific to any
325N/A * API associated with the parsing of fast infoset documents.
325N/A *
325N/A * @author Paul.Sandoz@Sun.Com
325N/A */
325N/Apublic interface FastInfosetParser {
325N/A /**
325N/A * The property name to be used for getting and setting the string
325N/A * interning property of a parser.
325N/A *
325N/A */
325N/A public static final String STRING_INTERNING_PROPERTY =
325N/A "http://jvnet.org/fastinfoset/parser/properties/string-interning";
325N/A
325N/A /**
325N/A * The property name to be used for getting and setting the buffer size
325N/A * of a parser.
325N/A */
325N/A public static final String BUFFER_SIZE_PROPERTY =
325N/A "http://jvnet.org/fastinfoset/parser/properties/buffer-size";
325N/A
325N/A /**
325N/A * The property name to be used for getting and setting the
325N/A * Map containing encoding algorithms.
325N/A *
325N/A */
325N/A public static final String REGISTERED_ENCODING_ALGORITHMS_PROPERTY =
325N/A "http://jvnet.org/fastinfoset/parser/properties/registered-encoding-algorithms";
325N/A
325N/A /**
325N/A * The property name to be used for getting and setting the
325N/A * Map containing external vocabularies.
325N/A *
325N/A */
325N/A public static final String EXTERNAL_VOCABULARIES_PROPERTY =
325N/A "http://jvnet.org/fastinfoset/parser/properties/external-vocabularies";
325N/A
325N/A /**
325N/A * The property name to be used for getting and setting the
325N/A * flag, which will indicate whether underlying Parser's
325N/A * input stream should be really closed
325N/A */
325N/A public static final String FORCE_STREAM_CLOSE_PROPERTY =
325N/A "http://jvnet.org/fastinfoset/parser/properties/force-stream-close";
325N/A
325N/A /**
325N/A * Set the string interning property.
325N/A *
325N/A * <p>If the string interning property is set to true then
325N/A * <code>String</code> objects instantiated for [namespace name], [prefix]
325N/A * and [local name] infoset properties will be interned using the method
325N/A * {@link String#intern()}.
325N/A *
325N/A * @param stringInterning The string interning property.
325N/A */
325N/A public void setStringInterning(boolean stringInterning);
325N/A
325N/A /**
325N/A * Return the string interning property.
325N/A *
325N/A * @return The string interning property.
325N/A */
325N/A public boolean getStringInterning();
325N/A
325N/A /**
325N/A * Set the buffer size.
325N/A *
325N/A * <p>The size of the buffer for parsing is set using this
325N/A * method. Requests for sizes smaller then the current size will be ignored.
325N/A * Otherwise the buffer will be resized when the next parse is performed.<p>
325N/A *
325N/A * @param bufferSize The requested buffer size.
325N/A */
325N/A public void setBufferSize(int bufferSize);
325N/A
325N/A
325N/A /**
325N/A * Get the buffer size.
325N/A *
325N/A * @return The buffer size.
325N/A */
325N/A public int getBufferSize();
325N/A
325N/A
325N/A /**
325N/A * Sets the set of registered encoding algorithms.
325N/A *
325N/A * @param algorithms The set of registered algorithms.
325N/A */
325N/A public void setRegisteredEncodingAlgorithms(Map algorithms);
325N/A
325N/A /**
325N/A * Gets the set of registered encoding algorithms.
325N/A *
325N/A * @return The set of registered algorithms.
325N/A */
325N/A public Map getRegisteredEncodingAlgorithms();
325N/A
325N/A /**
325N/A * Set the map of referenced external vocabularies.
325N/A * <p>
325N/A * The map (but not the keys and values) be cloned.
325N/A *
325N/A * @param referencedVocabualries the map of URI to vocabulary.
325N/A */
325N/A public void setExternalVocabularies(Map referencedVocabualries);
325N/A
325N/A /**
325N/A * Get the map of referenced external vocabularies.
325N/A *
325N/A * @return the map of URI to vocabulary.
325N/A * @deprecated
325N/A * The map returned will not be the same instance and contain
325N/A * the same entries as the map set by {@link #setExternalVocabularies}
325N/A * method.
325N/A */
325N/A public Map getExternalVocabularies();
325N/A
325N/A /**
325N/A * Set the parse fragments property.
325N/A *
325N/A * <p>If the parse fragments property is set to true then
325N/A * fragments of an XML infoset may be parsed.
325N/A *
325N/A * @param parseFragments The parse fragments property.
325N/A */
325N/A public void setParseFragments(boolean parseFragments);
325N/A
325N/A /**
325N/A * Return the parse fragments property.
325N/A *
325N/A * @return The parse fragments property.
325N/A */
325N/A public boolean getParseFragments();
325N/A
325N/A /**
325N/A * Set the force stream close property.
325N/A *
325N/A * <p>If the force stream property is set to true then
325N/A * Parser's underlying InputStream will be closed.
325N/A *
325N/A * @param needForceStreamClose The force stream close property.
325N/A */
325N/A public void setForceStreamClose(boolean needForceStreamClose);
325N/A
325N/A /**
325N/A * Return the force stream close property.
325N/A *
325N/A * @return The force stream close property.
325N/A */
325N/A public boolean getForceStreamClose();
325N/A
325N/A}