Class UnmarshallingContext

  • All Implemented Interfaces:
    IUnmarshallingContext

    public class UnmarshallingContext
    extends java.lang.Object
    implements IUnmarshallingContext
    Pull parser wrapper supplying convenience methods for access. Most of these methods are designed for use in code generated by the binding generator.
    Author:
    Dennis M. Sosnoski
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int INITIAL_STACK_SIZE
      Starting size for object stack.
      private StringIntHashMap m_classIndexMap
      Map from fully-qualified class name to index in internal tables.
      private IBindingFactory m_factory
      Binding factory used to create this unmarshaller.
      protected java.lang.String[] m_idClasses
      Class names of referenced types (null unless class-specific IDs used).
      protected java.util.Map[] m_idMaps
      ID maps for finding references.
      protected java.lang.String m_idref
      Last IDREF value parsed.
      protected java.lang.String[] m_names
      Names for elements associated with class mappings.
      protected java.lang.String[] m_namespaces
      Namespaces for elements associated with class mappings.
      protected java.lang.Object[] m_objectStack
      Stack of objects being unmarshalled.
      private IXMLReader m_reader
      Parser in use.
      protected int m_stackDepth
      Current unmarshalling stack depth.
      private int m_transientBase
      Index past end of last fixed marshaller class.
      private java.lang.String[] m_transientUnmarshallerClasses
      Transient unmarshaller classes for mapping definition (null for mappings out of context).
      protected java.util.Map m_transientUnmarshalMap
      Mapping from element name to class index for transient mappings.
      protected IUnmarshaller[] m_unmarshallers
      Unmarshallers for classes in mapping definition (lazy create of actual unmarshaller instances)
      protected java.util.Map m_unmarshalMap
      Mapping from element name to class index for global mappings (cached from binding factory).
      protected java.lang.Object m_userContext
      User context object (not used by JiBX, only for user convenience).
      private static IXMLReaderFactory s_readerFactory
      Factory for creating XML readers.
    • Constructor Summary

      Constructors 
      Constructor Description
      UnmarshallingContext()
      Default constructor.
      UnmarshallingContext​(int nmap, java.lang.String[] umcs, java.lang.String[] nss, java.lang.String[] names, java.lang.String[] idcs, IBindingFactory ifact)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String accumulateText()
      Accumulate text content.
      void addUnmarshalling​(java.lang.String mapname, java.lang.String ns, java.lang.String name, java.lang.String cname)
      Define unmarshalling for element.
      private void advance()
      Advance to next parse item.
      boolean attributeBoolean​(java.lang.String ns, java.lang.String name)
      Get boolean value of attribute from current start tag.
      boolean attributeBoolean​(java.lang.String ns, java.lang.String name, boolean dflt)
      Get boolean value of optional attribute from current start tag.
      byte attributeByte​(java.lang.String ns, java.lang.String name)
      Get byte value of attribute from current start tag.
      byte attributeByte​(java.lang.String ns, java.lang.String name, byte dflt)
      Get byte value of optional attribute from current start tag.
      char attributeChar​(java.lang.String ns, java.lang.String name)
      Get char value of attribute from current start tag.
      char attributeChar​(java.lang.String ns, java.lang.String name, char dflt)
      Get char value of optional attribute from current start tag.
      java.util.Date attributeDate​(java.lang.String ns, java.lang.String name)
      Get java.util.Date value of attribute from current start tag.
      java.util.Date attributeDate​(java.lang.String ns, java.lang.String name, java.util.Date dflt)
      Get java.util.Date value of optional attribute from current start tag.
      double attributeDouble​(java.lang.String ns, java.lang.String name)
      Get double value of attribute from current start tag.
      double attributeDouble​(java.lang.String ns, java.lang.String name, double dflt)
      Get double value of optional attribute from current start tag.
      int attributeEnumeration​(java.lang.String ns, java.lang.String name, java.lang.String[] enums, int[] vals)
      Get enumeration attribute value from current start tag.
      int attributeEnumeration​(java.lang.String ns, java.lang.String name, java.lang.String[] enums, int[] vals, int dflt)
      Get optional enumeration attribute value from current start tag.
      java.lang.Object attributeExistingIDREF​(java.lang.String ns, java.lang.String name, int index)
      Get previously defined object corresponding to IDREF attribute from current start tag.
      float attributeFloat​(java.lang.String ns, java.lang.String name)
      Get float value of attribute from current start tag.
      float attributeFloat​(java.lang.String ns, java.lang.String name, float dflt)
      Get float value of optional attribute from current start tag.
      java.lang.Object attributeForwardIDREF​(java.lang.String ns, java.lang.String name, int index)
      Get object (if defined yet) corresponding to IDREF attribute from current start tag.
      int attributeInt​(java.lang.String ns, java.lang.String name)
      Get integer value of attribute from current start tag.
      int attributeInt​(java.lang.String ns, java.lang.String name, int dflt)
      Get integer value of optional attribute from current start tag.
      long attributeLong​(java.lang.String ns, java.lang.String name)
      Get long value of attribute from current start tag.
      long attributeLong​(java.lang.String ns, java.lang.String name, long dflt)
      Get long value of optional attribute from current start tag.
      short attributeShort​(java.lang.String ns, java.lang.String name)
      Get short value of attribute from current start tag.
      short attributeShort​(java.lang.String ns, java.lang.String name, short dflt)
      Get short value of optional attribute from current start tag.
      java.lang.String attributeText​(java.lang.String ns, java.lang.String name)
      Get text value of attribute from current start tag.
      java.lang.String attributeText​(java.lang.String ns, java.lang.String name, java.lang.String dflt)
      Get text value of optional attribute from current start tag.
      static java.lang.String buildNameString​(java.lang.String ns, java.lang.String name)
      Build name with optional namespace.
      java.lang.String buildPositionString()
      Build current parse input position description.
      void checkAllowedAttributes​(java.lang.String[] nss, java.lang.String[] names)
      Check that only allowed attributes are present on current start tag.
      boolean convertBoolean​(java.lang.String text)
      Convert boolean value.
      byte convertByte​(java.lang.String text)
      Convert byte value with exception wrapper.
      char convertChar​(java.lang.String text)
      Convert char value with exception wrapper.
      java.util.Date convertDate​(java.lang.String text)
      Convert java.util.Date value with exception wrapper.
      double convertDouble​(java.lang.String text)
      Convert double value with exception wrapper.
      int convertEnum​(java.lang.String target, java.lang.String[] enums, int[] vals)
      Find required text value in enumeration.
      int convertEnum​(java.lang.String target, java.lang.String[] enums, int[] vals, int dflt)
      Find optional text value in enumeration.
      float convertFloat​(java.lang.String text)
      Convert float value with exception wrapper.
      long convertLong​(java.lang.String text)
      Convert long value with exception wrapper.
      short convertShort​(java.lang.String text)
      Convert short value with exception wrapper.
      int currentEvent()
      Get the current parse event type.
      java.lang.String currentNameString()
      Build current element name, with optional namespace.
      void defineID​(java.lang.String id, int index, java.lang.Object obj)
      Define object for ID.
      java.lang.Object findDefinedID​(java.lang.String id, int index)
      Find previously defined object corresponding to an ID.
      java.lang.Object findID​(java.lang.String id, int index)
      Find the object corresponding to an ID.
      int getActiveNamespaceCount()
      Get count of active namespaces.
      java.lang.String getActiveNamespacePrefix​(int index)
      Get prefix for an active namespace.
      java.lang.String getActiveNamespaceUri​(int index)
      Get URI for an active namespace.
      int getAttributeCount()
      Get number of attributes for current START_ELEMENT event.
      java.lang.String getAttributeName​(int index)
      Get attribute name for current START_ELEMENT event.
      java.lang.String getAttributeNamespace​(int index)
      Get attribute namespace for current START_ELEMENT event.
      java.lang.String getAttributePrefix​(int index)
      Get attribute namespace prefix for current START_ELEMENT event.
      java.lang.String getAttributeValue​(int index)
      Get attribute value for current START_ELEMENT event.
      private java.lang.String getAttributeValue​(java.lang.String ns, java.lang.String name)
      Get attribute value from parser.
      java.lang.String getDocumentName()
      Return the supplied document name.
      java.lang.String getElementName()
      Returns current element name.
      java.lang.String getElementNamespace()
      Returns current element namespace URI.
      IBindingFactory getFactory()
      Return the binding factory used to create this unmarshaller.
      java.lang.String getInputEncoding()
      Return the input encoding, if known.
      java.lang.String getName()
      Get name associated with current parse event.
      java.lang.String getNamespace()
      Get namespace associated with current parse event.
      int getNamespaceCount()
      Get number of namespace declarations for current START_ELEMENT event.
      java.lang.String getNamespacePrefix​(int index)
      Get namespace prefix for namespace declaration on current START_ELEMENT event.
      java.lang.String getNamespaceUri​(int index)
      Get namespace URI for namespace declaration on current START_ELEMENT event.
      java.lang.String getNamespaceUri​(java.lang.String prefix)
      Get namespace URI matching prefix.
      java.lang.String getPrefix()
      Get namespace prefix associated with current parse event.
      int getStackDepth()
      Get current unmarshalling object stack depth.
      java.lang.Object getStackObject​(int depth)
      Get object from unmarshalling stack.
      java.lang.Object getStackTop()
      Get top object on unmarshalling stack.
      java.lang.String getText()
      Get text value for current event.
      private IUnmarshaller getUnmarshaller​(int index)
      Find the unmarshaller for a particular class index in the current context.
      IUnmarshaller getUnmarshaller​(java.lang.String mapname)
      Find the unmarshaller for a particular class in the current context.
      IUnmarshaller getUnmarshaller​(java.lang.String ns, java.lang.String name)
      Find the unmarshaller for a particular element name (including namespace) in the current context.
      java.lang.Object getUserContext()
      Get the user context object.
      boolean hasAnyAttribute​(java.lang.String[] nss, java.lang.String[] names)
      Check if any of several attributes is present on current start tag.
      boolean hasAttribute​(java.lang.String ns, java.lang.String name)
      Check if attribute is present on current start tag.
      boolean isAt​(java.lang.String ns, java.lang.String name)
      Check if next tag is start of element.
      boolean isEnd()
      Check if next tag is an end tag.
      boolean isStart()
      Check if next tag is a start tag.
      protected void mapUnmarshalling​(int index)
      Map unmarshalling for element.
      private void matchStart​(java.lang.String ns, java.lang.String name)
      Internal parse to expected start tag.
      int next()
      Advance to next major parse event.
      int nextToken()
      Advance to next parse event.
      byte parseContentByte​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning byte value of content.
      char parseContentChar​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning char value of content.
      int parseContentEnumeration​(java.lang.String ns, java.lang.String tag, java.lang.String[] enums, int[] vals)
      Parse past end of element, returning enumeration value of content.
      int parseContentInt​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning integer value of content.
      short parseContentShort​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning short value of content.
      java.lang.String parseContentText()
      Parse required text content.
      java.lang.String parseContentText​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning optional text content.
      boolean parseElementBoolean​(java.lang.String ns, java.lang.String tag)
      Parse entire element, returning boolean value of content.
      boolean parseElementBoolean​(java.lang.String ns, java.lang.String tag, boolean dflt)
      Parse entire element, returning boolean value of optional content.
      byte parseElementByte​(java.lang.String ns, java.lang.String tag)
      Parse entire element, returning byte value of content.
      byte parseElementByte​(java.lang.String ns, java.lang.String tag, byte dflt)
      Parse entire element, returning byte value of optional content.
      char parseElementChar​(java.lang.String ns, java.lang.String tag)
      Parse entire element, returning char value of content.
      char parseElementChar​(java.lang.String ns, java.lang.String tag, char dflt)
      Parse entire element, returning char value of optional content.
      java.util.Date parseElementDate​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning java.util.Date value of content.
      java.util.Date parseElementDate​(java.lang.String ns, java.lang.String tag, java.util.Date dflt)
      Parse entire element, returning java.util.Date value of optional content.
      double parseElementDouble​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning double value of content.
      double parseElementDouble​(java.lang.String ns, java.lang.String tag, double dflt)
      Parse entire element, returning double value of optional content.
      int parseElementEnumeration​(java.lang.String ns, java.lang.String tag, java.lang.String[] enums, int[] vals, int dflt)
      Parse entire element, returning enumeration value of optional content.
      java.lang.Object parseElementExistingIDREF​(java.lang.String ns, java.lang.String tag, int index)
      Parse entire element, returning previously defined object corresponding to content interpreted as IDREF.
      float parseElementFloat​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning float value of content.
      float parseElementFloat​(java.lang.String ns, java.lang.String tag, float dflt)
      Parse entire element, returning float value of optional content.
      java.lang.Object parseElementForwardIDREF​(java.lang.String ns, java.lang.String tag, int index)
      Parse entire element, returning object (if defined yet) corresponding to content interpreted as IDREF.
      int parseElementInt​(java.lang.String ns, java.lang.String tag)
      Parse entire element, returning integer value of content.
      int parseElementInt​(java.lang.String ns, java.lang.String tag, int dflt)
      Parse entire optional element, returning integer value of content.
      long parseElementLong​(java.lang.String ns, java.lang.String tag)
      Parse past end of element, returning long value of content.
      long parseElementLong​(java.lang.String ns, java.lang.String tag, long dflt)
      Parse entire element, returning long value of optional content.
      short parseElementShort​(java.lang.String ns, java.lang.String tag)
      Parse entire element, returning short value of content.
      short parseElementShort​(java.lang.String ns, java.lang.String tag, short dflt)
      Parse entire element, returning short value of optional content.
      java.lang.String parseElementText​(java.lang.String ns, java.lang.String tag)
      Parse entire element, returning text content.
      java.lang.String parseElementText​(java.lang.String ns, java.lang.String tag, java.lang.String dflt)
      Parse entire element, returning optional text content.
      boolean parseIfStartTag​(java.lang.String ns, java.lang.String name)
      Parse past start of expected element.
      void parsePastCurrentEndTag​(java.lang.String ns, java.lang.String name)
      Parse past current end of element.
      void parsePastElement​(java.lang.String ns, java.lang.String tag)
      Parse past element, ignoring all content.
      void parsePastEndTag​(java.lang.String ns, java.lang.String name)
      Parse past end of element.
      void parsePastStartTag​(java.lang.String ns, java.lang.String name)
      Parse past start of element.
      void parseToStartTag​(java.lang.String ns, java.lang.String name)
      Parse to start of element.
      void popObject()
      Pop unmarshalled object from stack.
      void pushObject​(java.lang.Object obj)
      Push created object to unmarshalling stack.
      void pushTrackedObject​(java.lang.Object obj)
      Push created object to unmarshalling stack with position tracking.
      void registerBackFill​(int index, BackFillReference fill)
      Register back fill item for last parsed ID value.
      void registerBackFill​(java.lang.String id, int index, BackFillReference fill)
      Register back fill item for undefined ID value.
      void removeUnmarshalling​(java.lang.String mapname)
      Undefine unmarshalling for element.
      void reset()
      Reset unmarshalling information.
      void setDocument​(java.io.InputStream ins, java.lang.String enc)
      Set document to be parsed from stream.
      void setDocument​(java.io.InputStream ins, java.lang.String name, java.lang.String enc)
      Set named document to be parsed from stream.
      void setDocument​(java.io.InputStream ins, java.lang.String name, java.lang.String enc, boolean nsa)
      Set document to be parsed from stream.
      void setDocument​(java.io.Reader rdr)
      Set document to be parsed from reader.
      void setDocument​(java.io.Reader rdr, java.lang.String name)
      Set named document to be parsed from reader.
      void setDocument​(java.io.Reader rdr, java.lang.String name, boolean nsa)
      Set document to be parsed from reader.
      void setDocument​(IXMLReader rdr)
      Set input document parse source directly.
      void setFromContext​(UnmarshallingContext parent)
      Initializes the context to use the same parser and document as another unmarshalling context.
      void setUserContext​(java.lang.Object obj)
      Set a user context object.
      void skipElement()
      Skip past current element.
      void throwEndTagNameError​(java.lang.String ns, java.lang.String name)
      Throw exception for expected element end tag not found.
      void throwException​(java.lang.String msg)
      Throw exception with position information.
      void throwException​(java.lang.String msg, java.lang.Exception ex)
      Throw exception with position information and nested exception.
      void throwNameException​(java.lang.String msg, java.lang.String ns, java.lang.String name)
      Throw exception including a name and position information.
      void throwStartTagException​(java.lang.String msg)
      Throw exception with start tag and position information.
      void throwStartTagException​(java.lang.String msg, java.lang.Exception ex)
      Throw exception with start tag, position information, and nested exception.
      void throwStartTagNameError​(java.lang.String ns, java.lang.String name)
      Throw exception for expected element start tag not found.
      java.lang.String toEnd()
      Parse to end tag.
      java.lang.String toStart()
      Parse to start tag.
      int toTag()
      Parse to start or end tag.
      void trackObject​(java.lang.Object obj)
      Set position tracking information for object, if supported.
      java.lang.Object unmarshalDocument​(java.io.InputStream ins, java.lang.String enc)
      Unmarshal document from stream to object.
      java.lang.Object unmarshalDocument​(java.io.InputStream ins, java.lang.String name, java.lang.String enc)
      Unmarshal named document from stream to object.
      java.lang.Object unmarshalDocument​(java.io.Reader rdr)
      Unmarshal document from reader to object.
      java.lang.Object unmarshalDocument​(java.io.Reader rdr, java.lang.String name)
      Unmarshal named document from reader to object.
      java.lang.Object unmarshalElement()
      Unmarshal required element.
      java.lang.Object unmarshalElement​(java.lang.Class clas)
      Unmarshal required element of specified type.
      java.lang.Object unmarshalOptionalElement()
      Unmarshal optional element.
      private boolean verifyNamespace​(java.lang.String ns)
      Verify namespace.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INITIAL_STACK_SIZE

        private static final int INITIAL_STACK_SIZE
        Starting size for object stack.
        See Also:
        Constant Field Values
      • s_readerFactory

        private static final IXMLReaderFactory s_readerFactory
        Factory for creating XML readers.
      • m_factory

        private IBindingFactory m_factory
        Binding factory used to create this unmarshaller.
      • m_classIndexMap

        private StringIntHashMap m_classIndexMap
        Map from fully-qualified class name to index in internal tables.
      • m_reader

        private IXMLReader m_reader
        Parser in use.
      • m_transientBase

        private int m_transientBase
        Index past end of last fixed marshaller class.
      • m_transientUnmarshallerClasses

        private java.lang.String[] m_transientUnmarshallerClasses
        Transient unmarshaller classes for mapping definition (null for mappings out of context).
      • m_unmarshallers

        protected IUnmarshaller[] m_unmarshallers
        Unmarshallers for classes in mapping definition (lazy create of actual unmarshaller instances)
      • m_namespaces

        protected java.lang.String[] m_namespaces
        Namespaces for elements associated with class mappings.
      • m_names

        protected java.lang.String[] m_names
        Names for elements associated with class mappings.
      • m_idMaps

        protected java.util.Map[] m_idMaps
        ID maps for finding references.
      • m_idClasses

        protected java.lang.String[] m_idClasses
        Class names of referenced types (null unless class-specific IDs used).
      • m_stackDepth

        protected int m_stackDepth
        Current unmarshalling stack depth.
      • m_objectStack

        protected java.lang.Object[] m_objectStack
        Stack of objects being unmarshalled.
      • m_unmarshalMap

        protected java.util.Map m_unmarshalMap
        Mapping from element name to class index for global mappings (cached from binding factory). Entries are Integer values if single match, int[] if multiple matches, giving the mapping index.
      • m_transientUnmarshalMap

        protected java.util.Map m_transientUnmarshalMap
        Mapping from element name to class index for transient mappings. Entries are Integer values if single match, ArrayList if multiple matches, giving the mapping index.
      • m_idref

        protected java.lang.String m_idref
        Last IDREF value parsed.
      • m_userContext

        protected java.lang.Object m_userContext
        User context object (not used by JiBX, only for user convenience).
    • Constructor Detail

      • UnmarshallingContext

        public UnmarshallingContext​(int nmap,
                                    java.lang.String[] umcs,
                                    java.lang.String[] nss,
                                    java.lang.String[] names,
                                    java.lang.String[] idcs,
                                    IBindingFactory ifact)
        Constructor. Builds the actual parser and initializes internal data structures.
        Parameters:
        nmap - number of mapping definitions included
        umcs - names of unmarshaller classes for indexes with fixed unmarshallers (as opposed to mapping slots, which may be overridden; reference kept, must be constant)
        nss - namespaces for elements of classes with global definitions
        names - names for elements of classes with global definitions
        idcs - array of class names with IDs (null if no IDs or global IDs)
        ifact - binding factory creating this unmarshaller
      • UnmarshallingContext

        public UnmarshallingContext()
        Default constructor. This can be used for creating a context outside of the generated code for special purposes.
    • Method Detail

      • buildNameString

        public static java.lang.String buildNameString​(java.lang.String ns,
                                                       java.lang.String name)
        Build name with optional namespace. Just returns the appropriate name format.
        Parameters:
        ns - namespace URI of name
        name - local name part of name
        Returns:
        formatted name string
      • currentNameString

        public java.lang.String currentNameString()
        Build current element name, with optional namespace.
        Returns:
        formatted name string
      • buildPositionString

        public java.lang.String buildPositionString()
        Build current parse input position description.
        Returns:
        text description of current parse position
      • throwStartTagNameError

        public void throwStartTagNameError​(java.lang.String ns,
                                           java.lang.String name)
                                    throws JiBXException
        Throw exception for expected element start tag not found.
        Parameters:
        ns - namespace URI of name
        name - local name part of name
        Throws:
        JiBXException - always thrown
      • throwEndTagNameError

        public void throwEndTagNameError​(java.lang.String ns,
                                         java.lang.String name)
                                  throws JiBXException
        Throw exception for expected element end tag not found.
        Parameters:
        ns - namespace URI of name
        name - local name part of name
        Throws:
        JiBXException - always thrown
      • throwNameException

        public void throwNameException​(java.lang.String msg,
                                       java.lang.String ns,
                                       java.lang.String name)
                                throws JiBXException
        Throw exception including a name and position information.
        Parameters:
        msg - leading message text
        ns - namespace URI of name
        name - local name part of name
        Throws:
        JiBXException - always thrown
      • advance

        private void advance()
                      throws JiBXException
        Advance to next parse item. This wraps the base parser call in order to catch and handle exceptions.
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • verifyNamespace

        private boolean verifyNamespace​(java.lang.String ns)
        Verify namespace. This is a simple utility method that allows multiple representations for the empty namespace as a convenience for generated code.
        Parameters:
        ns - namespace URI expected (may be null or the empty string for the empty namespace)
        Returns:
        true if the current namespace matches that expected, false if not
      • getAttributeValue

        private java.lang.String getAttributeValue​(java.lang.String ns,
                                                   java.lang.String name)
        Get attribute value from parser.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute value text, or null if missing
      • setDocument

        public void setDocument​(java.io.InputStream ins,
                                java.lang.String name,
                                java.lang.String enc,
                                boolean nsa)
                         throws JiBXException
        Set document to be parsed from stream. This call is not part of the interface definition, but is supplied to allow direct control of the namespace processing by the compiler. The option of disabling namespaces should be considered experimental and may not be supported in the future.
        Parameters:
        ins - stream supplying document data
        name - document name (null if unknown)
        enc - document input encoding, or null if to be determined by parser
        nsa - enable namespace processing for parser flag
        Throws:
        JiBXException - if error creating parser
      • setDocument

        public void setDocument​(java.io.InputStream ins,
                                java.lang.String enc)
                         throws JiBXException
        Set document to be parsed from stream.
        Specified by:
        setDocument in interface IUnmarshallingContext
        Parameters:
        ins - stream supplying document data
        enc - document input encoding, or null if to be determined by parser
        Throws:
        JiBXException - if error creating parser
      • setDocument

        public void setDocument​(java.io.Reader rdr,
                                java.lang.String name,
                                boolean nsa)
                         throws JiBXException
        Set document to be parsed from reader. This call is not part of the interface definition, but is supplied to allow direct control of the namespace processing by the compiler. The option of disabling namespaces should be considered experimental and may not be supported in the future.
        Parameters:
        rdr - reader supplying document data
        name - document name (null if unknown)
        nsa - enable namespace processing for parser flag
        Throws:
        JiBXException - if error creating parser
      • setDocument

        public void setDocument​(java.io.InputStream ins,
                                java.lang.String name,
                                java.lang.String enc)
                         throws JiBXException
        Set named document to be parsed from stream.
        Specified by:
        setDocument in interface IUnmarshallingContext
        Parameters:
        ins - stream supplying document data
        name - document name
        enc - document input encoding, or null if to be determined by parser
        Throws:
        JiBXException - if error creating parser
      • setDocument

        public void setDocument​(java.io.Reader rdr,
                                java.lang.String name)
                         throws JiBXException
        Set named document to be parsed from reader.
        Specified by:
        setDocument in interface IUnmarshallingContext
        Parameters:
        rdr - reader supplying document data
        name - document name
        Throws:
        JiBXException - if error creating parser
      • setDocument

        public void setDocument​(IXMLReader rdr)
        Set input document parse source directly.
        Parameters:
        rdr - document parse event reader
      • setFromContext

        public void setFromContext​(UnmarshallingContext parent)
        Initializes the context to use the same parser and document as another unmarshalling context. This method is designed for use when an initial context needs to create and invoke a secondary context in the course of an unmarshalling operation.
        Parameters:
        parent - context supplying parser and document to be unmarshalled
      • reset

        public void reset()
        Reset unmarshalling information. This releases all references to unmarshalled objects and prepares the context for potential reuse. It is automatically called when input is set.
        Specified by:
        reset in interface IUnmarshallingContext
      • toStart

        public java.lang.String toStart()
                                 throws JiBXException
        Parse to start tag. Ignores character data seen prior to a start tag, but throws exception if an end tag or the end of the document is seen before a start tag. Leaves the parser positioned at the start tag.
        Returns:
        element name of start tag found
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • toEnd

        public java.lang.String toEnd()
                               throws JiBXException
        Parse to end tag. Ignores character data seen prior to an end tag, but throws exception if a start tag or the end of the document is seen before an end tag. Leaves the parser positioned at the end tag.
        Returns:
        element name of end tag found
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • toTag

        public int toTag()
                  throws JiBXException
        Parse to start or end tag. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag.
        Returns:
        parser event type for start tag or end tag
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • isAt

        public boolean isAt​(java.lang.String ns,
                            java.lang.String name)
                     throws JiBXException
        Check if next tag is start of element. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag.
        Specified by:
        isAt in interface IUnmarshallingContext
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Returns:
        true if at start of element with supplied name, false if not
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • hasAttribute

        public boolean hasAttribute​(java.lang.String ns,
                                    java.lang.String name)
                             throws JiBXException
        Check if attribute is present on current start tag. Throws an exception if not currently positioned on a start tag.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        true if named attribute is present, false if not
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • hasAnyAttribute

        public boolean hasAnyAttribute​(java.lang.String[] nss,
                                       java.lang.String[] names)
                                throws JiBXException
        Check if any of several attributes is present on current start tag. Throws an exception if not currently positioned on a start tag.
        Parameters:
        nss - namespace URIs for expected attributes (each may be null or the empty string for the empty namespace)
        names - attribute names expected
        Returns:
        true if at least one of the named attributes is present, false if not
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • checkAllowedAttributes

        public void checkAllowedAttributes​(java.lang.String[] nss,
                                           java.lang.String[] names)
                                    throws JiBXException
        Check that only allowed attributes are present on current start tag. Throws an exception if not currently positioned on a start tag, or if an attribute is present which is not in the list.
        Parameters:
        nss - namespace URIs for allowed attributes (each may be null or the empty string for the empty namespace)
        names - alphabetical list of attribute names expected (duplicates names are ordered by namespace URI)
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • matchStart

        private void matchStart​(java.lang.String ns,
                                java.lang.String name)
                         throws JiBXException
        Internal parse to expected start tag. Ignores character data seen prior to a start tag, but throws exception if an end tag or the end of the document is seen before a start tag. Leaves the parser positioned at the start tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parseToStartTag

        public void parseToStartTag​(java.lang.String ns,
                                    java.lang.String name)
                             throws JiBXException
        Parse to start of element. Ignores character data to next start or end tag, but throws exception if an end tag is seen before a start tag, or if the start tag seen does not match the expected name. Leaves the parse positioned at the start tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parsePastStartTag

        public void parsePastStartTag​(java.lang.String ns,
                                      java.lang.String name)
                               throws JiBXException
        Parse past start of element. Ignores character data to next start or end tag, but throws exception if an end tag is seen before a start tag, or if the start tag seen does not match the expected name. Leaves the parse positioned following the start tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parseIfStartTag

        public boolean parseIfStartTag​(java.lang.String ns,
                                       java.lang.String name)
                                throws JiBXException
        Parse past start of expected element. If not currently positioned at a start or end tag this first advances the parser to the next tag. If the expected start tag is found it is skipped and the parse is left positioned following the start tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Returns:
        true if start tag found, false if not
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parsePastCurrentEndTag

        public void parsePastCurrentEndTag​(java.lang.String ns,
                                           java.lang.String name)
                                    throws JiBXException
        Parse past current end of element. Ignores character data to next start or end tag, but throws exception if a start tag is seen before a end tag, or if the end tag seen does not match the expected name. Leaves the parse positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parsePastEndTag

        public void parsePastEndTag​(java.lang.String ns,
                                    java.lang.String name)
                             throws JiBXException
        Parse past end of element. If currently at a start tag parses past that start tag, then ignores character data to next start or end tag, and throws exception if a start tag is seen before a end tag, or if the end tag seen does not match the expected name. Leaves the parse positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        name - element name expected
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • isStart

        public boolean isStart()
                        throws JiBXException
        Check if next tag is a start tag. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag.
        Specified by:
        isStart in interface IUnmarshallingContext
        Returns:
        true if at start of element, false if at end
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • isEnd

        public boolean isEnd()
                      throws JiBXException
        Check if next tag is an end tag. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag.
        Specified by:
        isEnd in interface IUnmarshallingContext
        Returns:
        true if at end of element, false if at start
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • accumulateText

        public java.lang.String accumulateText()
                                        throws JiBXException
        Accumulate text content. This skips past comments and processing instructions, and consolidates text and entities to a single string. Any unexpanded entity references found are treated as errors.
        Returns:
        consolidated text string (empty string if no text components)
        Throws:
        JiBXException - on error in unmarshalling
      • parseContentText

        public java.lang.String parseContentText()
                                          throws JiBXException
        Parse required text content. Assumes the parse is already positioned at the text content, so just returns the text.
        Returns:
        content text found
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseContentText

        public java.lang.String parseContentText​(java.lang.String ns,
                                                 java.lang.String tag)
                                          throws JiBXException
        Parse past end of element, returning optional text content. Assumes you've already parsed past the start tag of the element, so it just looks for text content followed by the end tag, and returns with the parser positioned after the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseContentInt

        public int parseContentInt​(java.lang.String ns,
                                   java.lang.String tag)
                            throws JiBXException
        Parse past end of element, returning integer value of content. Assumes you've already parsed past the start tag of the element, so it just looks for text content followed by the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementText

        public java.lang.String parseElementText​(java.lang.String ns,
                                                 java.lang.String tag)
                                          throws JiBXException
        Parse entire element, returning text content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementText

        public java.lang.String parseElementText​(java.lang.String ns,
                                                 java.lang.String tag,
                                                 java.lang.String dflt)
                                          throws JiBXException
        Parse entire element, returning optional text content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default text if the element is not found.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default text value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • attributeText

        public java.lang.String attributeText​(java.lang.String ns,
                                              java.lang.String name)
                                       throws JiBXException
        Get text value of attribute from current start tag. Throws an exception if the attribute value is not found in the start tag.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute value text
        Throws:
        JiBXException - if attribute not present
      • attributeText

        public java.lang.String attributeText​(java.lang.String ns,
                                              java.lang.String name,
                                              java.lang.String dflt)
        Get text value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute value text
      • findID

        public java.lang.Object findID​(java.lang.String id,
                                       int index)
                                throws JiBXException
        Find the object corresponding to an ID. This method just handles the lookup and checks the object type.
        Parameters:
        id - ID text
        index - expected reference type index
        Returns:
        object corresponding to IDREF, or null if not yet defined
        Throws:
        JiBXException - on any error
      • findDefinedID

        public java.lang.Object findDefinedID​(java.lang.String id,
                                              int index)
                                       throws JiBXException
        Find previously defined object corresponding to an ID. This does the lookup and checks that the referenced object has been defined.
        Parameters:
        id - ID text
        index - expected reference type index
        Returns:
        object corresponding to IDREF
        Throws:
        JiBXException - on any error
      • parseElementForwardIDREF

        public java.lang.Object parseElementForwardIDREF​(java.lang.String ns,
                                                         java.lang.String tag,
                                                         int index)
                                                  throws JiBXException
        Parse entire element, returning object (if defined yet) corresponding to content interpreted as IDREF. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - attribute name expected
        index - expected reference type index
        Returns:
        object corresponding to IDREF, or null if not yet defined
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • attributeForwardIDREF

        public java.lang.Object attributeForwardIDREF​(java.lang.String ns,
                                                      java.lang.String name,
                                                      int index)
                                               throws JiBXException
        Get object (if defined yet) corresponding to IDREF attribute from current start tag.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        index - expected reference type index
        Returns:
        object corresponding to IDREF, or null if not yet defined
        Throws:
        JiBXException - if attribute not present, or ID mapped to a different type of object than expected
      • parseElementExistingIDREF

        public java.lang.Object parseElementExistingIDREF​(java.lang.String ns,
                                                          java.lang.String tag,
                                                          int index)
                                                   throws JiBXException
        Parse entire element, returning previously defined object corresponding to content interpreted as IDREF. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - attribute name expected
        index - expected reference type index
        Returns:
        object corresponding to IDREF
        Throws:
        JiBXException - if attribute not present, ID not defined, or mapped to a different type of object than expected
      • attributeExistingIDREF

        public java.lang.Object attributeExistingIDREF​(java.lang.String ns,
                                                       java.lang.String name,
                                                       int index)
                                                throws JiBXException
        Get previously defined object corresponding to IDREF attribute from current start tag.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        index - expected reference type index
        Returns:
        object corresponding to IDREF
        Throws:
        JiBXException - if attribute not present, ID not defined, or mapped to a different type of object than expected
      • attributeInt

        public int attributeInt​(java.lang.String ns,
                                java.lang.String name)
                         throws JiBXException
        Get integer value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute integer value
        Throws:
        JiBXException - if attribute not present or not a valid integer value
      • attributeInt

        public int attributeInt​(java.lang.String ns,
                                java.lang.String name,
                                int dflt)
                         throws JiBXException
        Get integer value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute integer value
        Throws:
        JiBXException - if attribute value is not a valid integer
      • parseElementInt

        public int parseElementInt​(java.lang.String ns,
                                   java.lang.String tag)
                            throws JiBXException
        Parse entire element, returning integer value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parseElementInt

        public int parseElementInt​(java.lang.String ns,
                                   java.lang.String tag,
                                   int dflt)
                            throws JiBXException
        Parse entire optional element, returning integer value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is missing or has no content.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertEnum

        public int convertEnum​(java.lang.String target,
                               java.lang.String[] enums,
                               int[] vals)
                        throws JiBXException
        Find required text value in enumeration. Looks up and returns the enumeration value corresponding to the target text.
        Parameters:
        target - text to be found in enumeration
        enums - ordered array of texts included in enumeration
        vals - array of values to be returned for corresponding text match positions (position returned directly if this is null)
        Returns:
        enumeration value for target text
        Throws:
        JiBXException - if target text not found in enumeration
      • convertEnum

        public int convertEnum​(java.lang.String target,
                               java.lang.String[] enums,
                               int[] vals,
                               int dflt)
                        throws JiBXException
        Find optional text value in enumeration. Looks up and returns the enumeration value corresponding to the target text, or the default value if the text is null.
        Parameters:
        target - text to be found in enumeration (may be null)
        enums - ordered array of texts included in enumeration
        vals - array of values to be returned for corresponding text match positions (position returned directly if this is null)
        dflt - default value returned if target text is null
        Returns:
        enumeration value for target text
        Throws:
        JiBXException - if target text not found in enumeration
      • attributeEnumeration

        public int attributeEnumeration​(java.lang.String ns,
                                        java.lang.String name,
                                        java.lang.String[] enums,
                                        int[] vals)
                                 throws JiBXException
        Get enumeration attribute value from current start tag. Throws an exception if the attribute value is not found in the start tag or the text does not match a value defined in the enumeration table.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        enums - ordered array of texts included in enumeration
        vals - array of values to be returned for corresponding text match positions (position returned directly if this is null)
        Returns:
        enumeration value for target text
        Throws:
        JiBXException - if attribute not present or value not found in enumeration list
      • attributeEnumeration

        public int attributeEnumeration​(java.lang.String ns,
                                        java.lang.String name,
                                        java.lang.String[] enums,
                                        int[] vals,
                                        int dflt)
                                 throws JiBXException
        Get optional enumeration attribute value from current start tag. Throws an exception if the attribute value is present but does not match a value defined in the enumeration table.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        enums - ordered array of texts included in enumeration
        vals - array of values to be returned for corresponding text match positions (position returned directly if this is null)
        dflt - default value returned if attribute is not present
        Returns:
        enumeration value for target text
        Throws:
        JiBXException - if attribute not present or value not found in enumeration list
      • parseContentEnumeration

        public int parseContentEnumeration​(java.lang.String ns,
                                           java.lang.String tag,
                                           java.lang.String[] enums,
                                           int[] vals)
                                    throws JiBXException
        Parse past end of element, returning enumeration value of content. Assumes you've already parsed past the start tag of the element, so it just looks for text content followed by the end tag, and returns with the parser positioned after the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        enums - ordered array of texts included in enumeration
        vals - array of values to be returned for corresponding text match positions (position returned directly if this is null)
        Returns:
        enumeration value for element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementEnumeration

        public int parseElementEnumeration​(java.lang.String ns,
                                           java.lang.String tag,
                                           java.lang.String[] enums,
                                           int[] vals,
                                           int dflt)
                                    throws JiBXException
        Parse entire element, returning enumeration value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if no content is present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        enums - ordered array of texts included in enumeration
        vals - array of values to be returned for corresponding text match positions (position returned directly if this is null)
        dflt - default value
        Returns:
        enumeration value for element text
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertByte

        public byte convertByte​(java.lang.String text)
                         throws JiBXException
        Convert byte value with exception wrapper. This internal method is used by all the byte unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted byte value
        Throws:
        JiBXException - if not a valid byte value
      • attributeByte

        public byte attributeByte​(java.lang.String ns,
                                  java.lang.String name)
                           throws JiBXException
        Get byte value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute byte value
        Throws:
        JiBXException - if attribute not present or not a valid byte value
      • attributeByte

        public byte attributeByte​(java.lang.String ns,
                                  java.lang.String name,
                                  byte dflt)
                           throws JiBXException
        Get byte value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute byte value
        Throws:
        JiBXException - if attribute value is not a valid byte
      • parseContentByte

        public byte parseContentByte​(java.lang.String ns,
                                     java.lang.String tag)
                              throws JiBXException
        Parse past end of element, returning byte value of content. Assumes you've already parsed past the start tag of the element, so it just looks for text content followed by the end tag, and returns with the parser positioned after the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementByte

        public byte parseElementByte​(java.lang.String ns,
                                     java.lang.String tag)
                              throws JiBXException
        Parse entire element, returning byte value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parseElementByte

        public byte parseElementByte​(java.lang.String ns,
                                     java.lang.String tag,
                                     byte dflt)
                              throws JiBXException
        Parse entire element, returning byte value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if no content is present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertShort

        public short convertShort​(java.lang.String text)
                           throws JiBXException
        Convert short value with exception wrapper. This internal method is used by all the short unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted short value
        Throws:
        JiBXException - if not a valid short value
      • attributeShort

        public short attributeShort​(java.lang.String ns,
                                    java.lang.String name)
                             throws JiBXException
        Get short value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute short value
        Throws:
        JiBXException - if attribute not present or not a valid short value
      • attributeShort

        public short attributeShort​(java.lang.String ns,
                                    java.lang.String name,
                                    short dflt)
                             throws JiBXException
        Get short value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute short value
        Throws:
        JiBXException - if attribute value is not a valid short
      • parseContentShort

        public short parseContentShort​(java.lang.String ns,
                                       java.lang.String tag)
                                throws JiBXException
        Parse past end of element, returning short value of content. Assumes you've already parsed past the start tag of the element, so it just looks for text content followed by the end tag, and returns with the parser positioned after the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementShort

        public short parseElementShort​(java.lang.String ns,
                                       java.lang.String tag)
                                throws JiBXException
        Parse entire element, returning short value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parseElementShort

        public short parseElementShort​(java.lang.String ns,
                                       java.lang.String tag,
                                       short dflt)
                                throws JiBXException
        Parse entire element, returning short value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if no content is present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertChar

        public char convertChar​(java.lang.String text)
                         throws JiBXException
        Convert char value with exception wrapper. This internal method is used by all the char unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted char value
        Throws:
        JiBXException - if not a valid char value
      • attributeChar

        public char attributeChar​(java.lang.String ns,
                                  java.lang.String name)
                           throws JiBXException
        Get char value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute char value
        Throws:
        JiBXException - if attribute not present or not a valid char value
      • attributeChar

        public char attributeChar​(java.lang.String ns,
                                  java.lang.String name,
                                  char dflt)
                           throws JiBXException
        Get char value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute char value
        Throws:
        JiBXException - if attribute value is not a valid char
      • parseContentChar

        public char parseContentChar​(java.lang.String ns,
                                     java.lang.String tag)
                              throws JiBXException
        Parse past end of element, returning char value of content. Assumes you've already parsed past the start tag of the element, so it just looks for text content followed by the end tag, and returns with the parser positioned after the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementChar

        public char parseElementChar​(java.lang.String ns,
                                     java.lang.String tag)
                              throws JiBXException
        Parse entire element, returning char value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parseElementChar

        public char parseElementChar​(java.lang.String ns,
                                     java.lang.String tag,
                                     char dflt)
                              throws JiBXException
        Parse entire element, returning char value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is not present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertLong

        public long convertLong​(java.lang.String text)
                         throws JiBXException
        Convert long value with exception wrapper. This internal method is used by all the long unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted long value
        Throws:
        JiBXException - if not a valid long value
      • attributeLong

        public long attributeLong​(java.lang.String ns,
                                  java.lang.String name)
                           throws JiBXException
        Get long value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute long value
        Throws:
        JiBXException - if attribute not present or not a valid long value
      • attributeLong

        public long attributeLong​(java.lang.String ns,
                                  java.lang.String name,
                                  long dflt)
                           throws JiBXException
        Get long value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute long value
        Throws:
        JiBXException - if attribute value is not a valid long
      • parseElementLong

        public long parseElementLong​(java.lang.String ns,
                                     java.lang.String tag)
                              throws JiBXException
        Parse past end of element, returning long value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementLong

        public long parseElementLong​(java.lang.String ns,
                                     java.lang.String tag,
                                     long dflt)
                              throws JiBXException
        Parse entire element, returning long value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is not present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertBoolean

        public boolean convertBoolean​(java.lang.String text)
                               throws JiBXException
        Convert boolean value. This internal method is used by all the boolean unmarshalling calls. It accepts "true" or "1" as equivalent, and "false" or "0" as equivalent, and throws exceptions for anything else.
        Parameters:
        text - text for value to be converted
        Returns:
        converted boolean value
        Throws:
        JiBXException - if not a valid boolean value
      • attributeBoolean

        public boolean attributeBoolean​(java.lang.String ns,
                                        java.lang.String name)
                                 throws JiBXException
        Get boolean value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute boolean value
        Throws:
        JiBXException - if attribute not present or not a valid boolean value
      • attributeBoolean

        public boolean attributeBoolean​(java.lang.String ns,
                                        java.lang.String name,
                                        boolean dflt)
                                 throws JiBXException
        Get boolean value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute boolean value
        Throws:
        JiBXException - if attribute value is not a valid boolean
      • parseElementBoolean

        public boolean parseElementBoolean​(java.lang.String ns,
                                           java.lang.String tag)
                                    throws JiBXException
        Parse entire element, returning boolean value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementBoolean

        public boolean parseElementBoolean​(java.lang.String ns,
                                           java.lang.String tag,
                                           boolean dflt)
                                    throws JiBXException
        Parse entire element, returning boolean value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is not present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertFloat

        public float convertFloat​(java.lang.String text)
                           throws JiBXException
        Convert float value with exception wrapper. This internal method is used by all the float unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted float value
        Throws:
        JiBXException - if not a valid float value
      • attributeFloat

        public float attributeFloat​(java.lang.String ns,
                                    java.lang.String name)
                             throws JiBXException
        Get float value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute float value
        Throws:
        JiBXException - if attribute not present or not a valid float value
      • attributeFloat

        public float attributeFloat​(java.lang.String ns,
                                    java.lang.String name,
                                    float dflt)
                             throws JiBXException
        Get float value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute float value
        Throws:
        JiBXException - if attribute value is not a valid float
      • parseElementFloat

        public float parseElementFloat​(java.lang.String ns,
                                       java.lang.String tag)
                                throws JiBXException
        Parse past end of element, returning float value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementFloat

        public float parseElementFloat​(java.lang.String ns,
                                       java.lang.String tag,
                                       float dflt)
                                throws JiBXException
        Parse entire element, returning float value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is not present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertDouble

        public double convertDouble​(java.lang.String text)
                             throws JiBXException
        Convert double value with exception wrapper. This internal method is used by all the double unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted double value
        Throws:
        JiBXException - if not a valid double value
      • attributeDouble

        public double attributeDouble​(java.lang.String ns,
                                      java.lang.String name)
                               throws JiBXException
        Get double value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute double value
        Throws:
        JiBXException - if attribute not present or not a valid double value
      • attributeDouble

        public double attributeDouble​(java.lang.String ns,
                                      java.lang.String name,
                                      double dflt)
                               throws JiBXException
        Get double value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute double value
        Throws:
        JiBXException - if attribute value is not a valid double
      • parseElementDouble

        public double parseElementDouble​(java.lang.String ns,
                                         java.lang.String tag)
                                  throws JiBXException
        Parse past end of element, returning double value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementDouble

        public double parseElementDouble​(java.lang.String ns,
                                         java.lang.String tag,
                                         double dflt)
                                  throws JiBXException
        Parse entire element, returning double value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is not present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • convertDate

        public java.util.Date convertDate​(java.lang.String text)
                                   throws JiBXException
        Convert java.util.Date value with exception wrapper. This internal method is used by all the Date unmarshalling calls. It adds position information to any exceptions that occur.
        Parameters:
        text - text for value to be converted
        Returns:
        converted Date value
        Throws:
        JiBXException - if not a valid Date value
      • attributeDate

        public java.util.Date attributeDate​(java.lang.String ns,
                                            java.lang.String name)
                                     throws JiBXException
        Get java.util.Date value of attribute from current start tag. Throws an exception if the attribute is not found in the start tag, or if it is not a valid integer value.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        Returns:
        attribute Date value
        Throws:
        JiBXException - if attribute not present or not a valid Date value
      • attributeDate

        public java.util.Date attributeDate​(java.lang.String ns,
                                            java.lang.String name,
                                            java.util.Date dflt)
                                     throws JiBXException
        Get java.util.Date value of optional attribute from current start tag. If the attribute is not present the supplied default value is returned instead.
        Parameters:
        ns - namespace URI for expected attribute (may be null or the empty string for the empty namespace)
        name - attribute name expected
        dflt - value to be returned if attribute is not present
        Returns:
        attribute Date value
        Throws:
        JiBXException - if attribute value is not a valid Date
      • parseElementDate

        public java.util.Date parseElementDate​(java.lang.String ns,
                                               java.lang.String tag)
                                        throws JiBXException
        Parse past end of element, returning java.util.Date value of content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Returns:
        converted value from element text
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • parseElementDate

        public java.util.Date parseElementDate​(java.lang.String ns,
                                               java.lang.String tag,
                                               java.util.Date dflt)
                                        throws JiBXException
        Parse entire element, returning java.util.Date value of optional content. Expects to find the element start tag, text content, and end tag, in that order, and returns with the parser positioned following the end tag. Returns the default value if the element is not present.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        dflt - default value
        Returns:
        content text from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • registerBackFill

        public void registerBackFill​(java.lang.String id,
                                     int index,
                                     BackFillReference fill)
                              throws JiBXException
        Register back fill item for undefined ID value. This adds a holder to the mapping table if not already present, then adds the back fill item to the holder.
        Parameters:
        id - target undefined ID value
        index - target reference type index
        fill - back fill item
        Throws:
        JiBXException - if attribute not present, or ID already defined
      • registerBackFill

        public void registerBackFill​(int index,
                                     BackFillReference fill)
                              throws JiBXException
        Register back fill item for last parsed ID value. This adds a holder to the mapping table if not already present, then adds the back fill item to the holder. This form of call always applies to the last IDREF value parsed (from either an element or an attribute).
        Parameters:
        index - target reference type index
        fill - back fill item
        Throws:
        JiBXException - if attribute not present, or ID already defined
      • defineID

        public void defineID​(java.lang.String id,
                             int index,
                             java.lang.Object obj)
                      throws JiBXException
        Define object for ID. Adds the owning object to a map with the ID value as key. Throws an exception if the object class does not match that expected from forward references, or if another object has previously been registered with the same ID.
        Parameters:
        id - text ID value
        index - ID class index number
        obj - object corresponding to element
        Throws:
        JiBXException - if duplicate ID or wrong class
      • mapUnmarshalling

        protected void mapUnmarshalling​(int index)
        Map unmarshalling for element. Adds the entry for a particular class index to the unmarshalling map.
        Parameters:
        index - class index for unmarshalling definition to be added
      • addUnmarshalling

        public void addUnmarshalling​(java.lang.String mapname,
                                     java.lang.String ns,
                                     java.lang.String name,
                                     java.lang.String cname)
                              throws JiBXException
        Define unmarshalling for element. Enables the unmarshalling definition linking an element name (including namespace) with a handler.
        Parameters:
        mapname - mapping name associated with unmarshaller
        ns - namespace for element (may be null or the empty string for the empty namespace)
        name - name for element
        cname - unmarshaller class name
        Throws:
        JiBXException - if unknown mapping name
      • removeUnmarshalling

        public void removeUnmarshalling​(java.lang.String mapname)
                                 throws JiBXException
        Undefine unmarshalling for element. Disables the unmarshalling definition for a particular mapping name.
        Parameters:
        mapname - mapping name associated with unmarshaller
        Throws:
        JiBXException - if unknown mapping name
      • getUnmarshaller

        private IUnmarshaller getUnmarshaller​(int index)
                                       throws JiBXException
        Find the unmarshaller for a particular class index in the current context.
        Parameters:
        index - class index for unmarshalling definition
        Returns:
        unmarshalling handler for class
        Throws:
        JiBXException - if unable to create unmarshaller
      • getUnmarshaller

        public IUnmarshaller getUnmarshaller​(java.lang.String mapname)
                                      throws JiBXException
        Find the unmarshaller for a particular class in the current context.
        Specified by:
        getUnmarshaller in interface IUnmarshallingContext
        Parameters:
        mapname - unmarshaller mapping name (generally the class name to be handled, or abstract mapping type name)
        Returns:
        unmarshalling handler for class
        Throws:
        JiBXException - if unable to create unmarshaller
      • getUnmarshaller

        public IUnmarshaller getUnmarshaller​(java.lang.String ns,
                                             java.lang.String name)
                                      throws JiBXException
        Find the unmarshaller for a particular element name (including namespace) in the current context.
        Parameters:
        ns - namespace for element (may be null or the empty string for the empty namespace)
        name - name for element
        Returns:
        unmarshalling handler for element, or null if none found
        Throws:
        JiBXException - if unable to create unmarshaller
      • unmarshalOptionalElement

        public java.lang.Object unmarshalOptionalElement()
                                                  throws JiBXException
        Unmarshal optional element. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag.
        Returns:
        unmarshalled object from element, or null if end tag rather than start tag seen
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • unmarshalElement

        public java.lang.Object unmarshalElement​(java.lang.Class clas)
                                          throws JiBXException
        Unmarshal required element of specified type. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag. The returned object will always be assignable to the specified type.
        Parameters:
        clas - expected class of unmarshalled object
        Returns:
        unmarshalled object from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • unmarshalElement

        public java.lang.Object unmarshalElement()
                                          throws JiBXException
        Unmarshal required element. If not currently positioned at a start or end tag this first advances the parse to the next start or end tag.
        Specified by:
        unmarshalElement in interface IUnmarshallingContext
        Returns:
        unmarshalled object from element
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • parsePastElement

        public void parsePastElement​(java.lang.String ns,
                                     java.lang.String tag)
                              throws JiBXException
        Parse past element, ignoring all content. This may be used while positioned either before or on the element start tag. It checks if currently positioned at the element start tag, and if so advances to the next parse event. Then looks for the next end tag, ignoring character data and skipping child elements. Leaves the parse positioned following the end tag.
        Parameters:
        ns - namespace URI for expected element (may be null or the empty string for the empty namespace)
        tag - element name expected
        Throws:
        JiBXException - on any error (possible wrapping other exception)
      • getElementName

        public java.lang.String getElementName()
                                        throws JiBXException
        Returns current element name.
        Returns:
        local name part of name, or null if not at a start or end tag
        Throws:
        JiBXException - if error from parser
      • getElementNamespace

        public java.lang.String getElementNamespace()
                                             throws JiBXException
        Returns current element namespace URI.
        Returns:
        namespace URI of name, or null if not at a start or end tag
        Throws:
        JiBXException - if error from parser
      • throwStartTagException

        public void throwStartTagException​(java.lang.String msg)
                                    throws JiBXException
        Throw exception with start tag and position information.
        Parameters:
        msg - exception message text
        Throws:
        JiBXException - always thrown
      • throwStartTagException

        public void throwStartTagException​(java.lang.String msg,
                                           java.lang.Exception ex)
                                    throws JiBXException
        Throw exception with start tag, position information, and nested exception.
        Parameters:
        msg - exception message text
        ex - nested exception
        Throws:
        JiBXException - always thrown
      • throwException

        public void throwException​(java.lang.String msg)
                            throws JiBXException
        Throw exception with position information.
        Parameters:
        msg - exception message text
        Throws:
        JiBXException - always thrown
      • throwException

        public void throwException​(java.lang.String msg,
                                   java.lang.Exception ex)
                            throws JiBXException
        Throw exception with position information and nested exception.
        Parameters:
        msg - exception message text
        ex - nested exception
        Throws:
        JiBXException - always thrown
      • getFactory

        public IBindingFactory getFactory()
        Return the binding factory used to create this unmarshaller.
        Returns:
        binding factory
      • getDocumentName

        public java.lang.String getDocumentName()
        Return the supplied document name.
        Specified by:
        getDocumentName in interface IUnmarshallingContext
        Returns:
        supplied document name (null if none)
      • getInputEncoding

        public java.lang.String getInputEncoding()
        Return the input encoding, if known. This is only valid after parsing of a document has been started.
        Returns:
        input encoding (null if unknown)
      • setUserContext

        public void setUserContext​(java.lang.Object obj)
        Set a user context object. This context object is not used directly by JiBX, but can be accessed by all types of user extension methods. The context object is automatically cleared by the reset() method, so to make use of this you need to first call the appropriate version of the setDocument() method, then this method, and finally the unmarshalElement(java.lang.Class) method.
        Specified by:
        setUserContext in interface IUnmarshallingContext
        Parameters:
        obj - user context object, or null if clearing existing context object
        See Also:
        getUserContext()
      • pushObject

        public void pushObject​(java.lang.Object obj)
        Push created object to unmarshalling stack. This must be called before beginning the unmarshalling of the object. It is only called for objects with structure, not for those converted directly to and from text.
        Specified by:
        pushObject in interface IUnmarshallingContext
        Parameters:
        obj - object being unmarshalled
      • trackObject

        public void trackObject​(java.lang.Object obj)
        Set position tracking information for object, if supported.
        Parameters:
        obj - object being tracked
      • pushTrackedObject

        public void pushTrackedObject​(java.lang.Object obj)
        Push created object to unmarshalling stack with position tracking. If the object supports setting source location information, the location is also set by this method.
        Parameters:
        obj - object being unmarshalled
      • getStackDepth

        public int getStackDepth()
        Get current unmarshalling object stack depth. This allows tracking nested calls to unmarshal one object while in the process of unmarshalling another object. The bottom item on the stack is always the root object being unmarshalled.
        Specified by:
        getStackDepth in interface IUnmarshallingContext
        Returns:
        number of objects in unmarshalling stack
      • getStackObject

        public java.lang.Object getStackObject​(int depth)
        Get object from unmarshalling stack. This stack allows tracking nested calls to unmarshal one object while in the process of unmarshalling another object. The bottom item on the stack is always the root object being unmarshalled.
        Specified by:
        getStackObject in interface IUnmarshallingContext
        Parameters:
        depth - object depth in stack to be retrieved (must be in the range of zero to the current depth minus one).
        Returns:
        object from unmarshalling stack
      • getStackTop

        public java.lang.Object getStackTop()
        Get top object on unmarshalling stack. This is safe to call even when no objects are on the stack.
        Specified by:
        getStackTop in interface IUnmarshallingContext
        Returns:
        object from unmarshalling stack, or null if none
      • getActiveNamespaceCount

        public int getActiveNamespaceCount()
        Get count of active namespaces.
        Returns:
        number of active namespaces in stack
      • getActiveNamespaceUri

        public java.lang.String getActiveNamespaceUri​(int index)
        Get URI for an active namespace.
        Parameters:
        index - index number of namespace to be returned
        Returns:
        URI for namespace at position
        Throws:
        java.lang.IllegalArgumentException - if invalid index
      • getActiveNamespacePrefix

        public java.lang.String getActiveNamespacePrefix​(int index)
        Get prefix for an active namespace.
        Parameters:
        index - stack position of namespace to be returned
        Returns:
        prefix for namespace at position
        Throws:
        java.lang.IllegalArgumentException - if invalid index
      • skipElement

        public void skipElement()
                         throws JiBXException
        Skip past current element.
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • next

        public int next()
                 throws JiBXException
        Advance to next major parse event. This wraps the base parser call in order to catch and handle exceptions, and to preserve a reasonable level of parser independence.
        Returns:
        event type for next major parse event (START_TAG, TEXT, END_TAG, or END_DOCUMENT)
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • nextToken

        public int nextToken()
                      throws JiBXException
        Advance to next parse event. This wraps the base parser call in order to catch and handle exceptions, and to preserve a reasonable level of parser independence.
        Returns:
        event type for next parse event
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • currentEvent

        public int currentEvent()
                         throws JiBXException
        Get the current parse event type. This wraps the base parser call in order to catch and handle exceptions, and to preserve a reasonable level of parser independence.
        Returns:
        event type for current parse event
        Throws:
        JiBXException - on any error (possibly wrapping other exception)
      • getName

        public java.lang.String getName()
        Get name associated with current parse event.
        Returns:
        name text for name associated with event (START_ELEMENT, END_ELEMENT, or ENTITY_REF only)
        Throws:
        java.lang.IllegalStateException - if not at a start or end tag (optional)
      • getNamespace

        public java.lang.String getNamespace()
        Get namespace associated with current parse event.
        Returns:
        URI for namespace associated with event (START_ELEMENT or END_ELEMENT only), empty string if none
        Throws:
        java.lang.IllegalStateException - if not at a start or end tag (optional)
      • getPrefix

        public java.lang.String getPrefix()
        Get namespace prefix associated with current parse event.
        Returns:
        prefix for namespace associated with event (START_ELEMENT or END_ELEMENT only), null if none
        Throws:
        java.lang.IllegalStateException - if not at a start or end tag (optional)
      • getAttributeCount

        public int getAttributeCount()
        Get number of attributes for current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Returns:
        number of attributes, or -1 if not at START_ELEMENT
        Throws:
        java.lang.IllegalStateException - if not at a start tag (optional)
      • getAttributeName

        public java.lang.String getAttributeName​(int index)
        Get attribute name for current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Parameters:
        index - index number of attribute to be returned
        Returns:
        name of attribute at position
        Throws:
        java.lang.IllegalStateException - if not at a start tag or invalid index
      • getAttributeNamespace

        public java.lang.String getAttributeNamespace​(int index)
        Get attribute namespace for current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Parameters:
        index - index number of attribute to be returned
        Returns:
        namespace URI of attribute at position, empty string if none
        Throws:
        java.lang.IllegalStateException - if not at a start tag or invalid index
      • getAttributePrefix

        public java.lang.String getAttributePrefix​(int index)
        Get attribute namespace prefix for current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Parameters:
        index - index number of attribute to be returned
        Returns:
        prefix for namespace of attribute at position, null if none
        Throws:
        java.lang.IllegalStateException - if not at a start tag or invalid index
      • getAttributeValue

        public java.lang.String getAttributeValue​(int index)
        Get attribute value for current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Parameters:
        index - index number of attribute to be returned
        Returns:
        value of attribute at position
        Throws:
        java.lang.IllegalStateException - if not at a start tag or invalid index
      • getNamespaceCount

        public int getNamespaceCount()
        Get number of namespace declarations for current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Returns:
        number of namespace declarations, or -1 if not at START_ELEMENT
      • getNamespaceUri

        public java.lang.String getNamespaceUri​(int index)
        Get namespace URI for namespace declaration on current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Parameters:
        index - index number of declaration to be returned
        Returns:
        namespace URI for declaration at position
        Throws:
        java.lang.IllegalArgumentException - if invalid index
      • getNamespacePrefix

        public java.lang.String getNamespacePrefix​(int index)
        Get namespace prefix for namespace declaration on current START_ELEMENT event. The results are undefined if called when not at a START_ELEMENT event.
        Parameters:
        index - index number of declaration to be returned
        Returns:
        namespace prefix for declaration at position,
        Throws:
        java.lang.IllegalArgumentException - if invalid index
      • getNamespaceUri

        public java.lang.String getNamespaceUri​(java.lang.String prefix)
        Get namespace URI matching prefix.
        Parameters:
        prefix - namespace prefix to be matched (null for default namespace)
        Returns:
        namespace URI for prefix
      • getText

        public java.lang.String getText()
        Get text value for current event.
        Returns:
        text value for event