⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attributesimpl.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// AttributesImpl.java - default implementation of Attributes.// http://www.saxproject.org// Written by David Megginson// NO WARRANTY!  This class is in the public domain.// $Id: AttributesImpl.java,v 1.6.2.3 2002/01/29 21:34:14 dbrownell Exp $package org.xml.sax.helpers;import org.xml.sax.Attributes;/** * Default implementation of the Attributes interface. * * <blockquote> * <em>This module, both source code and documentation, is in the * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em> * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a> * for further information. * </blockquote> * * <p>This class provides a default implementation of the SAX2 * {@link org.xml.sax.Attributes Attributes} interface, with the  * addition of manipulators so that the list can be modified or  * reused.</p> * * <p>There are two typical uses of this class:</p> * * <ol> * <li>to take a persistent snapshot of an Attributes object *  in a {@link org.xml.sax.ContentHandler#startElement startElement} event; or</li> * <li>to construct or modify an Attributes object in a SAX2 driver or filter.</li> * </ol> * * <p>This class replaces the now-deprecated SAX1 {@link  * org.xml.sax.helpers.AttributeListImpl AttributeListImpl} * class; in addition to supporting the updated Attributes * interface rather than the deprecated {@link org.xml.sax.AttributeList * AttributeList} interface, it also includes a much more efficient  * implementation using a single array rather than a set of Vectors.</p> * * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) */public class AttributesImpl implements Attributes{    ////////////////////////////////////////////////////////////////////    // Constructors.    ////////////////////////////////////////////////////////////////////    /**     * Construct a new, empty AttributesImpl object.     */    public AttributesImpl ()    {	length = 0;	data = null;    }    /**     * Copy an existing Attributes object.     *     * <p>This constructor is especially useful inside a     * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p>     *     * @param atts The existing Attributes object.     */    public AttributesImpl (Attributes atts)    {	setAttributes(atts);    }    ////////////////////////////////////////////////////////////////////    // Implementation of org.xml.sax.Attributes.    ////////////////////////////////////////////////////////////////////    /**     * Return the number of attributes in the list.     *     * @return The number of attributes in the list.     * @see org.xml.sax.Attributes#getLength     */    public int getLength ()    {	return length;    }    /**     * Return an attribute's Namespace URI.     *     * @param index The attribute's index (zero-based).     * @return The Namespace URI, the empty string if none is     *         available, or null if the index is out of range.     * @see org.xml.sax.Attributes#getURI     */    public String getURI (int index)    {	if (index >= 0 && index < length) {	    return data[index*5];	} else {	    return null;	}    }    /**     * Return an attribute's local name.     *     * @param index The attribute's index (zero-based).     * @return The attribute's local name, the empty string if      *         none is available, or null if the index if out of range.     * @see org.xml.sax.Attributes#getLocalName     */    public String getLocalName (int index)    {	if (index >= 0 && index < length) {	    return data[index*5+1];	} else {	    return null;	}    }    /**     * Return an attribute's qualified (prefixed) name.     *     * @param index The attribute's index (zero-based).     * @return The attribute's qualified name, the empty string if      *         none is available, or null if the index is out of bounds.     * @see org.xml.sax.Attributes#getQName     */    public String getQName (int index)    {	if (index >= 0 && index < length) {	    return data[index*5+2];	} else {	    return null;	}    }    /**     * Return an attribute's type by index.     *     * @param index The attribute's index (zero-based).     * @return The attribute's type, "CDATA" if the type is unknown, or null     *         if the index is out of bounds.     * @see org.xml.sax.Attributes#getType(int)     */    public String getType (int index)    {	if (index >= 0 && index < length) {	    return data[index*5+3];	} else {	    return null;	}    }    /**     * Return an attribute's value by index.     *     * @param index The attribute's index (zero-based).     * @return The attribute's value or null if the index is out of bounds.     * @see org.xml.sax.Attributes#getValue(int)     */    public String getValue (int index)    {	if (index >= 0 && index < length) {	    return data[index*5+4];	} else {	    return null;	}    }    /**     * Look up an attribute's index by Namespace name.     *     * <p>In many cases, it will be more efficient to look up the name once and     * use the index query methods rather than using the name query methods     * repeatedly.</p>     *     * @param uri The attribute's Namespace URI, or the empty     *        string if none is available.     * @param localName The attribute's local name.     * @return The attribute's index, or -1 if none matches.     * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String)     */    public int getIndex (String uri, String localName)    {	int max = length * 5;	for (int i = 0; i < max; i += 5) {	    if (data[i].equals(uri) && data[i+1].equals(localName)) {		return i / 5;	    }	} 	return -1;    }    /**     * Look up an attribute's index by qualified (prefixed) name.     *     * @param qName The qualified name.     * @return The attribute's index, or -1 if none matches.     * @see org.xml.sax.Attributes#getIndex(java.lang.String)     */    public int getIndex (String qName)    {	int max = length * 5;	for (int i = 0; i < max; i += 5) {	    if (data[i+2].equals(qName)) {		return i / 5;	    }	} 	return -1;    }    /**     * Look up an attribute's type by Namespace-qualified name.     *     * @param uri The Namespace URI, or the empty string for a name     *        with no explicit Namespace URI.     * @param localName The local name.     * @return The attribute's type, or null if there is no     *         matching attribute.     * @see org.xml.sax.Attributes#getType(java.lang.String,java.lang.String)     */    public String getType (String uri, String localName)    {	int max = length * 5;	for (int i = 0; i < max; i += 5) {	    if (data[i].equals(uri) && data[i+1].equals(localName)) {		return data[i+3];	    }	} 	return null;    }    /**     * Look up an attribute's type by qualified (prefixed) name.     *     * @param qName The qualified name.     * @return The attribute's type, or null if there is no     *         matching attribute.     * @see org.xml.sax.Attributes#getType(java.lang.String)     */    public String getType (String qName)    {	int max = length * 5;	for (int i = 0; i < max; i += 5) {	    if (data[i+2].equals(qName)) {		return data[i+3];	    }	}	return null;    }    /**     * Look up an attribute's value by Namespace-qualified name.     *     * @param uri The Namespace URI, or the empty string for a name     *        with no explicit Namespace URI.     * @param localName The local name.     * @return The attribute's value, or null if there is no     *         matching attribute.     * @see org.xml.sax.Attributes#getValue(java.lang.String,java.lang.String)     */    public String getValue (String uri, String localName)    {	int max = length * 5;	for (int i = 0; i < max; i += 5) {	    if (data[i].equals(uri) && data[i+1].equals(localName)) {		return data[i+4];	    }	}	return null;    }    /**     * Look up an attribute's value by qualified (prefixed) name.     *     * @param qName The qualified name.     * @return The attribute's value, or null if there is no     *         matching attribute.     * @see org.xml.sax.Attributes#getValue(java.lang.String)     */    public String getValue (String qName)    {	int max = length * 5;	for (int i = 0; i < max; i += 5) {	    if (data[i+2].equals(qName)) {		return data[i+4];	    }	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -