Class WName

  • Direct Known Subclasses:
    ByteWName, CharWName

    public abstract class WName
    extends java.lang.Object
    This class is similar to PName, in that it implements an efficient representation of prefixed names, but one used on output (Writer) side.

    Note: unlike with Reader-side prefixed names, here we can not assume that components are intern()ed.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String _localName  
      protected java.lang.String _prefix  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected WName​(java.lang.String ln)  
      protected WName​(java.lang.String prefix, java.lang.String ln)  
    • Field Detail

      • _prefix

        protected final java.lang.String _prefix
      • _localName

        protected final java.lang.String _localName
    • Constructor Detail

      • WName

        protected WName​(java.lang.String ln)
      • WName

        protected WName​(java.lang.String prefix,
                        java.lang.String ln)
    • Method Detail

      • serializedLength

        public abstract int serializedLength()
        Returns:
        Length of full (qualified) name, in native serialization units (bytes or characters)
      • getPrefix

        public final java.lang.String getPrefix()
      • getPrefixedName

        public final java.lang.String getPrefixedName()
      • getLocalName

        public final java.lang.String getLocalName()
      • hasPrefix

        public final boolean hasPrefix()
      • appendBytes

        public abstract int appendBytes​(byte[] buffer,
                                        int offset)
      • writeBytes

        public abstract void writeBytes​(java.io.OutputStream out)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • appendChars

        public abstract int appendChars​(char[] buffer,
                                        int offset)
      • writeChars

        public abstract void writeChars​(java.io.Writer w)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Whether we should use internal hash, or the hash of prefixed name string itself is an open question. For now, let's use former.
        Overrides:
        hashCode in class java.lang.Object
      • hasName

        public final boolean hasName​(java.lang.String localName)
      • hasName

        public final boolean hasName​(java.lang.String prefix,
                                     java.lang.String localName)