Class DatatypeAttribute

All Implemented Interfaces:
com.sun.msv.datatype.SerializationContext, Serializable, Cloneable, Attribute, Node, org.relaxng.datatype.ValidationContext

public class DatatypeAttribute extends AbstractAttribute implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext

DatatypeAttribute represents an Attribute which supports the XML Schema Data Types specification.

Version:
$Revision: 1.9 $
See Also:
  • Field Details

    • parent

      private Element parent
      The parent Element of the Attribute
    • qname

      private QName qname
      The QName for this element
    • datatype

      private com.sun.msv.datatype.xsd.XSDatatype datatype
      The XSDatatype of the Attribute
    • data

      private Object data
      The data (Object) value of the Attribute
    • text

      private String text
      The text value of the Attribute
  • Constructor Details

    • DatatypeAttribute

      public DatatypeAttribute(QName qname, com.sun.msv.datatype.xsd.XSDatatype datatype)
    • DatatypeAttribute

      public DatatypeAttribute(QName qname, com.sun.msv.datatype.xsd.XSDatatype datatype, String text)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class AbstractAttribute
    • getXSDatatype

      public com.sun.msv.datatype.xsd.XSDatatype getXSDatatype()
      Returns the MSV XSDatatype for this node
      Returns:
      DOCUMENT ME!
    • getNamespacePrefix

      public String getNamespacePrefix(String uri)
      Specified by:
      getNamespacePrefix in interface com.sun.msv.datatype.SerializationContext
    • getBaseUri

      public String getBaseUri()
      Specified by:
      getBaseUri in interface org.relaxng.datatype.ValidationContext
    • isNotation

      public boolean isNotation(String notationName)
      Specified by:
      isNotation in interface org.relaxng.datatype.ValidationContext
    • isUnparsedEntity

      public boolean isUnparsedEntity(String entityName)
      Specified by:
      isUnparsedEntity in interface org.relaxng.datatype.ValidationContext
    • resolveNamespacePrefix

      public String resolveNamespacePrefix(String prefix)
      Specified by:
      resolveNamespacePrefix in interface org.relaxng.datatype.ValidationContext
    • getQName

      public QName getQName()
      Description copied from interface: Attribute
      Returns the QName of this attribute which represents the local name, the qualified name and the Namespace.
      Specified by:
      getQName in interface Attribute
      Returns:
      the QName associated with this attribute
    • getValue

      public String getValue()
      Description copied from interface: Attribute
      Returns the value of the attribute. This method returns the same value as the Node.getText()method.
      Specified by:
      getValue in interface Attribute
      Returns:
      the value of the attribute
    • setValue

      public void setValue(String value)
      Description copied from interface: Attribute
      Sets the value of this attribute or this method will throw an UnsupportedOperationException if it is read-only.
      Specified by:
      setValue in interface Attribute
      Overrides:
      setValue in class AbstractAttribute
      Parameters:
      value - is the new value of this attribute
    • getData

      public Object getData()
      Description copied from interface: Attribute
      Accesses the data of this attribute which may implement data typing bindings such as XML Schema or Java Bean bindings or will return the same value as Node.getText().
      Specified by:
      getData in interface Attribute
      Overrides:
      getData in class AbstractAttribute
      Returns:
      the attribute data
    • setData

      public void setData(Object data)
      Description copied from interface: Attribute
      Sets the data value of this attribute if this element supports data binding or calls Node.setText(String)if it doesn't.
      Specified by:
      setData in interface Attribute
      Overrides:
      setData in class AbstractAttribute
      Parameters:
      data - the attribute data
    • getParent

      public Element getParent()
      Description copied from interface: Node

      getParent returns the parent Element if this node supports the parent relationship or null if it is the root element or does not support the parent relationship.

      This method is an optional feature and may not be supported for all Node implementations.

      Specified by:
      getParent in interface Node
      Overrides:
      getParent in class AbstractNode
      Returns:
      the parent of this node or null if it is the root of the tree or the parent relationship is not supported.
    • setParent

      public void setParent(Element parent)
      Description copied from interface: Node

      setParent sets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.

      This method should only be called from inside an Element implementation method and is not intended for general use.

      Specified by:
      setParent in interface Node
      Overrides:
      setParent in class AbstractNode
      Parameters:
      parent - is the new parent of this node.
    • supportsParent

      public boolean supportsParent()
      Description copied from interface: Node

      supportsParent returns true if this node supports the parent relationship.

      Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.

      Specified by:
      supportsParent in interface Node
      Overrides:
      supportsParent in class AbstractNode
      Returns:
      true if this node supports the parent relationship or false it is not supported
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: Node

      isReadOnly returns true if this node is read only and cannot be modified. Any attempt to modify a read-only Node will result in an UnsupportedOperationException being thrown.

      Specified by:
      isReadOnly in interface Node
      Overrides:
      isReadOnly in class AbstractNode
      Returns:
      true if this Node is read only and cannot be modified otherwise false.
    • validate

      protected void validate(String txt) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • convertToValue

      protected Object convertToValue(String txt)