org.apache.xml.serializer

## Class AttributesImplSerializer

- java.lang.Object
- - org.xml.sax.helpers.AttributesImpl
  - - org.apache.xml.serializer.AttributesImplSerializer

- All Implemented Interfaces:
    org.xml.sax.Attributes

      public final class AttributesImplSerializer
      extends org.xml.sax.helpers.AttributesImpl

  This class extends org.xml.sax.helpers.AttributesImpl which implements org. xml.sax.Attributes. But for optimization this class adds a Hashtable for faster lookup of an index by qName, which is commonly done in the stream serializer.
  See Also:
    `Attributes`
  Usage:
    **For internal use only**

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AttributesImplSerializer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAttribute(java.lang.String uri, java.lang.String local, java.lang.String qname, java.lang.String type, java.lang.String val)` This method adds the attribute, but also records its qName/index pair in the hashtable for fast lookup by getIndex(qName).
    `void` | `clear()` This method clears the accumulated attributes.
    `int` | `getIndex(java.lang.String qname)` This method gets the index of an attribute given its qName.
    `int` | `getIndex(java.lang.String uri, java.lang.String localName)` This method gets the index of an attribute given its uri and locanName.
    `void` | `setAttributes(org.xml.sax.Attributes atts)` This method sets the attributes, previous attributes are cleared, it also keeps the hashtable up to date for quick lookup via getIndex(qName).

    - ### Methods inherited from class org.xml.sax.helpers.AttributesImpl

      `getLength, getLocalName, getQName, getType, getType, getType, getURI, getValue, getValue, getValue, removeAttribute, setAttribute, setLocalName, setQName, setType, setURI, setValue`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AttributesImplSerializer

          public AttributesImplSerializer()

  - ### Method Detail

    - #### getIndex

          public final int getIndex(java.lang.String qname)

      This method gets the index of an attribute given its qName.
      Specified by:
        `getIndex` in interface `org.xml.sax.Attributes`
      Overrides:
        `getIndex` in class `org.xml.sax.helpers.AttributesImpl`
      Parameters:
        `qname` - the qualified name of the attribute, e.g. "prefix1:locName1"
      Returns:
        the integer index of the attribute.
      See Also:
        `Attributes.getIndex(String)`

    - #### addAttribute

          public final void addAttribute(java.lang.String uri,
                                         java.lang.String local,
                                         java.lang.String qname,
                                         java.lang.String type,
                                         java.lang.String val)

      This method adds the attribute, but also records its qName/index pair in the hashtable for fast lookup by getIndex(qName).
      Overrides:
        `addAttribute` in class `org.xml.sax.helpers.AttributesImpl`
      Parameters:
        `uri` - the URI of the attribute
        `local` - the local name of the attribute
        `qname` - the qualified name of the attribute
        `type` - the type of the attribute
        `val` - the value of the attribute
      See Also:
        `AttributesImpl.addAttribute(String, String, String, String, String)`, `getIndex(String)`

    - #### clear

          public final void clear()

      This method clears the accumulated attributes.
      Overrides:
        `clear` in class `org.xml.sax.helpers.AttributesImpl`
      See Also:
        `AttributesImpl.clear()`

    - #### setAttributes

          public final void setAttributes(org.xml.sax.Attributes atts)

      This method sets the attributes, previous attributes are cleared, it also keeps the hashtable up to date for quick lookup via getIndex(qName).
      Overrides:
        `setAttributes` in class `org.xml.sax.helpers.AttributesImpl`
      Parameters:
        `atts` - the attributes to copy into these attributes.
      See Also:
        `AttributesImpl.setAttributes(Attributes)`, `getIndex(String)`

    - #### getIndex

          public final int getIndex(java.lang.String uri,
                                    java.lang.String localName)

      This method gets the index of an attribute given its uri and locanName.
      Specified by:
        `getIndex` in interface `org.xml.sax.Attributes`
      Overrides:
        `getIndex` in class `org.xml.sax.helpers.AttributesImpl`
      Parameters:
        `uri` - the URI of the attribute name.
        `localName` - the local namer (after the ':' ) of the attribute name.
      Returns:
        the integer index of the attribute.
      See Also:
        `Attributes.getIndex(String)`

Copyright © 2023 Apache XML Project. All Rights Reserved.