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 * 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 * 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 * 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 * 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 * THIS FILE WAS MODIFIED BY SUN MICROSYSTEMS, INC. 325N/A * Default implementation of the {@link EncodingAlgorithmAttributes} interface. 325N/A * <p>This class provides a default implementation of the SAX2 325N/A * {@link EncodingAlgorithmAttributes} interface, with the 325N/A * addition of manipulators so that the list can be modified or 325N/A * <p>There are two typical uses of this class:</p> 325N/A * <li>to take a persistent snapshot of an EncodingAlgorithmAttributes object 325N/A * in a {@link org.xml.sax.ContentHandler#startElement startElement} event; or</li> 325N/A * <li>to construct or modify an EncodingAlgorithmAttributes object in a SAX2 325N/A * driver or filter.</li> 325N/A * Construct a new, empty EncodingAlgorithmAttributesImpl object. 325N/A * Copy an existing Attributes object. 325N/A * <p>This constructor is especially useful inside a 325N/A * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p> 325N/A * @param attributes The existing Attributes object. 325N/A * Use registered encoding algorithms and copy an existing Attributes object. 325N/A * <p>This constructor is especially useful inside a 325N/A * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p> 325N/A * @param registeredEncodingAlgorithms 325N/A * The registeredEncodingAlgorithms encoding algorithms. 325N/A * @param attributes The existing Attributes object. 325N/A * Clear the attribute list for reuse. 325N/A * Add an attribute to the end of the list. 325N/A * <p>For the sake of speed, this method does no checking 325N/A * to see if the attribute is already in the list: that is 325N/A * the responsibility of the application.</p> 325N/A * @param URI The Namespace URI, or the empty string if 325N/A * none is available or Namespace processing is not 325N/A * @param localName The local name, or the empty string if 325N/A * Namespace processing is not being performed. 325N/A * @param qName The qualified (prefixed) name, or the empty string 325N/A * if qualified names are not available. 325N/A * @param type The attribute type as a string. 325N/A * @param value The attribute value. 325N/A * Add an attribute to the end of the list. 325N/A * <p>For the sake of speed, this method does no checking 325N/A * to see if the attribute is already in the list: that is 325N/A * the responsibility of the application.</p> 325N/A * @param URI The Namespace URI, or the empty string if 325N/A * none is available or Namespace processing is not 325N/A * @param localName The local name, or the empty string if 325N/A * Namespace processing is not being performed. 325N/A * @param qName The qualified (prefixed) name, or the empty string 325N/A * if qualified names are not available. 325N/A * @param type The attribute type as a string. 325N/A * @param value The attribute value. 325N/A * @param index True if attribute should be indexed. 325N/A * @param alphabet The alphabet associated with the attribute value, 325N/A * may be null if there is no associated alphabet. 325N/A * Add an attribute with built in algorithm data to the end of the list. 325N/A * <p>For the sake of speed, this method does no checking 325N/A * to see if the attribute is already in the list: that is 325N/A * the responsibility of the application.</p> 325N/A * @param URI The Namespace URI, or the empty string if 325N/A * none is available or Namespace processing is not 325N/A * @param localName The local name, or the empty string if 325N/A * Namespace processing is not being performed. 325N/A * @param qName The qualified (prefixed) name, or the empty string 325N/A * if qualified names are not available. 325N/A * @param builtInAlgorithmID The built in algorithm ID. 325N/A * @param algorithmData The built in algorithm data. 325N/A * Add an attribute with algorithm data to the end of the list. 325N/A * <p>For the sake of speed, this method does no checking 325N/A * to see if the attribute is already in the list: that is 325N/A * the responsibility of the application.</p> 325N/A * @param URI The Namespace URI, or the empty string if 325N/A * none is available or Namespace processing is not 325N/A * @param localName The local name, or the empty string if 325N/A * Namespace processing is not being performed. 325N/A * @param qName The qualified (prefixed) name, or the empty string 325N/A * if qualified names are not available. 325N/A * @param algorithmURI The algorithm URI, or null if a built in algorithm 325N/A * @param algorithmID The algorithm ID. 325N/A * @param algorithmData The algorithm data. 325N/A * Replace an attribute value with algorithm data. 325N/A * <p>For the sake of speed, this method does no checking 325N/A * to see if the attribute is already in the list: that is 325N/A * the responsibility of the application.</p> 325N/A * @param index The index of the attribute whose value is to be replaced 325N/A * @param algorithmURI The algorithm URI, or null if a built in algorithm 325N/A * @param algorithmID The algorithm ID. 325N/A * @param algorithmData The algorithm data. 325N/A * Copy an entire Attributes object. 325N/A * @param atts The attributes to copy. 325N/A * Copy an entire EncodingAlgorithmAttributes object. 325N/A * @param atts The attributes to copy. 325N/A // EncodingAlgorithmAttributes 325N/A // Reserved built-in algorithms for future use 325N/A // TODO should use sax property to decide if event will be 325N/A // reported, allows for support through handler if required.