org.pentaho.reporting.libraries.xmlns.common
Class AttributeList

java.lang.Object
  extended by org.pentaho.reporting.libraries.xmlns.common.AttributeList

public class AttributeList
extends java.lang.Object

The attribute list is used by a writer to specify the attributes of an XML element in a certain order.

Author:
Thomas Morgner

Nested Class Summary
static class AttributeList.AttributeEntry
          A name/value pair of the attribute list.
 
Field Summary
static java.lang.String XML_NAMESPACE
          A constant containing the XML namespace identifier.
static java.lang.String XMLNS_NAMESPACE
          A constant containing the XML-Namespace namespace identifier.
 
Constructor Summary
AttributeList()
          Creates an empty attribute list with no default values.
 
Method Summary
 void addNamespaceDeclaration(java.lang.String prefix, java.lang.String namespaceUri)
          Adds a namespace declaration.
 java.lang.String getAttribute(java.lang.String namespace, java.lang.String name)
          Returns the attribute value for the given attribute name or null, if the attribute is not defined in this list.
 java.lang.String getAttribute(java.lang.String namespace, java.lang.String name, java.lang.String defaultValue)
          Returns the attribute value for the given attribute name or the given defaultvalue, if the attribute is not defined in this list.
 boolean isEmpty()
          Checks, whether this list is empty.
 boolean isNamespacePrefixDefined(java.lang.String prefix)
          Checks, whether the given prefix is defined.
 boolean isNamespaceUriDefined(java.lang.String uri)
          Checks, whether the given namespace URI has a defined prefix.
 java.util.Iterator iterator()
          Deprecated. use toArray instead.
 void removeAttribute(java.lang.String namespace, java.lang.String name)
          Removes the attribute with the given name from the list.
 void removeNamespaceDeclaration(java.lang.String prefix)
          Removes a namespace declaration from this attribute list.
 void setAttribute(java.lang.String namespace, java.lang.String name, java.lang.String value)
          Defines an attribute.
 AttributeList.AttributeEntry[] toArray()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XMLNS_NAMESPACE

public static final java.lang.String XMLNS_NAMESPACE
A constant containing the XML-Namespace namespace identifier.

See Also:
Constant Field Values

XML_NAMESPACE

public static final java.lang.String XML_NAMESPACE
A constant containing the XML namespace identifier.

See Also:
Constant Field Values
Constructor Detail

AttributeList

public AttributeList()
Creates an empty attribute list with no default values.

Method Detail

iterator

public java.util.Iterator iterator()
Deprecated. use toArray instead.

Returns an iterator over the entry list. The iterator returns AttributeList.AttributeEntry objects.

Returns:
the iterator over the entries contained in this list.

toArray

public AttributeList.AttributeEntry[] toArray()

setAttribute

public void setAttribute(java.lang.String namespace,
                         java.lang.String name,
                         java.lang.String value)
Defines an attribute.

Parameters:
namespace - the namespace of the attribute.
name - the name of the attribute to be defined
value - the value of the attribute.

getAttribute

public java.lang.String getAttribute(java.lang.String namespace,
                                     java.lang.String name)
Returns the attribute value for the given attribute name or null, if the attribute is not defined in this list.

Parameters:
namespace - the namespace of the attribute.
name - the name of the attribute
Returns:
the attribute value or null.

getAttribute

public java.lang.String getAttribute(java.lang.String namespace,
                                     java.lang.String name,
                                     java.lang.String defaultValue)
Returns the attribute value for the given attribute name or the given defaultvalue, if the attribute is not defined in this list.

Parameters:
namespace - the namespace of the attribute.
name - the name of the attribute.
defaultValue - the default value.
Returns:
the attribute value or the defaultValue.

removeAttribute

public void removeAttribute(java.lang.String namespace,
                            java.lang.String name)
Removes the attribute with the given name from the list.

Parameters:
namespace - the namespace of the attribute that should be removed.
name - the name of the attribute which should be removed..

isEmpty

public boolean isEmpty()
Checks, whether this list is empty.

Returns:
true, if the list is empty, false otherwise.

addNamespaceDeclaration

public void addNamespaceDeclaration(java.lang.String prefix,
                                    java.lang.String namespaceUri)
Adds a namespace declaration. In XML, Namespaces are declared by using a special attribute-syntax. As this syntax is confusing and complicated, this method encapsulates this and make defining namespaces less confusing.

Parameters:
prefix - the desired namespace prefix (can be null or empty to define the default namespace.
namespaceUri - the URI of the namespace.

removeNamespaceDeclaration

public void removeNamespaceDeclaration(java.lang.String prefix)
Removes a namespace declaration from this attribute list.

Parameters:
prefix - the declared namespace prefix.

isNamespacePrefixDefined

public boolean isNamespacePrefixDefined(java.lang.String prefix)
Checks, whether the given prefix is defined.

Parameters:
prefix - the namespace prefix.
Returns:
true, if the prefix is defined, false otherwise.

isNamespaceUriDefined

public boolean isNamespaceUriDefined(java.lang.String uri)
Checks, whether the given namespace URI has a defined prefix.

Parameters:
uri - the uri.
Returns:
true, if there is at least one namespace declaration matching the given URI, false otherwise.