Package org.jibx.runtime.impl
Class UnmarshallingContext
- java.lang.Object
-
- org.jibx.runtime.impl.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)
Getjava.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)
Getjava.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)
Convertjava.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, returningjava.util.Date
value of content.java.util.Date
parseElementDate(java.lang.String ns, java.lang.String tag, java.util.Date dflt)
Parse entire element, returningjava.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.
-
-
-
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 areInteger
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 areInteger
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 includedumcs
- 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 definitionsnames
- names for elements of classes with global definitionsidcs
- 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 namename
- 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 namename
- 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 namename
- 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 textns
- namespace URI of namename
- 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 benull
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 benull
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 dataname
- document name (null
if unknown)enc
- document input encoding, ornull
if to be determined by parsernsa
- 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 interfaceIUnmarshallingContext
- Parameters:
ins
- stream supplying document dataenc
- document input encoding, ornull
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 dataname
- document name (null
if unknown)nsa
- enable namespace processing for parser flag- Throws:
JiBXException
- if error creating parser
-
setDocument
public void setDocument(java.io.Reader rdr) throws JiBXException
Set document to be parsed from reader.- Specified by:
setDocument
in interfaceIUnmarshallingContext
- Parameters:
rdr
- reader supplying document data- 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 interfaceIUnmarshallingContext
- Parameters:
ins
- stream supplying document dataname
- document nameenc
- document input encoding, ornull
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 interfaceIUnmarshallingContext
- Parameters:
rdr
- reader supplying document dataname
- 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 interfaceIUnmarshallingContext
-
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 interfaceIUnmarshallingContext
- Parameters:
ns
- namespace URI for expected element (may benull
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 benull
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 benull
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 benull
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 benull
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 benull
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 benull
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 benull
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 benull
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 benull
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 interfaceIUnmarshallingContext
- 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 interfaceIUnmarshallingContext
- 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 benull
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 benull
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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 textindex
- 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 textindex
- 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 benull
or the empty string for the empty namespace)tag
- attribute name expectedindex
- 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 benull
or the empty string for the empty namespace)name
- attribute name expectedindex
- 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 benull
or the empty string for the empty namespace)tag
- attribute name expectedindex
- 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 benull
or the empty string for the empty namespace)name
- attribute name expectedindex
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 enumerationenums
- ordered array of texts included in enumerationvals
- array of values to be returned for corresponding text match positions (position returned directly if this isnull
)- 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 isnull
.- Parameters:
target
- text to be found in enumeration (may benull
)enums
- ordered array of texts included in enumerationvals
- array of values to be returned for corresponding text match positions (position returned directly if this isnull
)dflt
- default value returned if target text isnull
- 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 benull
or the empty string for the empty namespace)name
- attribute name expectedenums
- ordered array of texts included in enumerationvals
- array of values to be returned for corresponding text match positions (position returned directly if this isnull
)- 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 benull
or the empty string for the empty namespace)name
- attribute name expectedenums
- ordered array of texts included in enumerationvals
- array of values to be returned for corresponding text match positions (position returned directly if this isnull
)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 benull
or the empty string for the empty namespace)tag
- element name expectedenums
- ordered array of texts included in enumerationvals
- array of values to be returned for corresponding text match positions (position returned directly if this isnull
)- 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 benull
or the empty string for the empty namespace)tag
- element name expectedenums
- ordered array of texts included in enumerationvals
- array of values to be returned for corresponding text match positions (position returned directly if this isnull
)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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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 benull
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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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
Convertjava.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
Getjava.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 benull
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
Getjava.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 benull
or the empty string for the empty namespace)name
- attribute name expecteddflt
- 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, returningjava.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 benull
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, returningjava.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 benull
or the empty string for the empty namespace)tag
- element name expecteddflt
- 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 valueindex
- target reference type indexfill
- 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 indexfill
- 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 valueindex
- ID class index numberobj
- 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 unmarshallerns
- namespace for element (may benull
or the empty string for the empty namespace)name
- name for elementcname
- 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 interfaceIUnmarshallingContext
- 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 benull
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 interfaceIUnmarshallingContext
- 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 benull
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 textex
- 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 textex
- nested exception- Throws:
JiBXException
- always thrown
-
unmarshalDocument
public java.lang.Object unmarshalDocument(java.io.InputStream ins, java.lang.String enc) throws JiBXException
Unmarshal document from stream to object. The effect of this is the same as ifsetDocument(java.io.InputStream, java.lang.String, java.lang.String, boolean)
were called, followed byunmarshalElement(java.lang.Class)
- Specified by:
unmarshalDocument
in interfaceIUnmarshallingContext
- Parameters:
ins
- stream supplying document dataenc
- document input encoding, ornull
if to be determined by parser- Returns:
- unmarshalled object
- Throws:
JiBXException
- if error creating parser
-
unmarshalDocument
public java.lang.Object unmarshalDocument(java.io.Reader rdr) throws JiBXException
Unmarshal document from reader to object. The effect of this is the same as ifsetDocument(java.io.InputStream, java.lang.String, java.lang.String, boolean)
were called, followed byunmarshalElement(java.lang.Class)
- Specified by:
unmarshalDocument
in interfaceIUnmarshallingContext
- Parameters:
rdr
- reader supplying document data- Returns:
- unmarshalled object
- Throws:
JiBXException
- if error creating parser
-
unmarshalDocument
public java.lang.Object unmarshalDocument(java.io.InputStream ins, java.lang.String name, java.lang.String enc) throws JiBXException
Unmarshal named document from stream to object. The effect of this is the same as ifsetDocument(java.io.InputStream, java.lang.String, java.lang.String, boolean)
were called, followed byunmarshalElement(java.lang.Class)
- Specified by:
unmarshalDocument
in interfaceIUnmarshallingContext
- Parameters:
ins
- stream supplying document dataname
- document nameenc
- document input encoding, ornull
if to be determined by parser- Returns:
- unmarshalled object
- Throws:
JiBXException
- if error creating parser
-
unmarshalDocument
public java.lang.Object unmarshalDocument(java.io.Reader rdr, java.lang.String name) throws JiBXException
Unmarshal named document from reader to object. The effect of this is the same as ifsetDocument(java.io.InputStream, java.lang.String, java.lang.String, boolean)
were called, followed byunmarshalElement(java.lang.Class)
- Specified by:
unmarshalDocument
in interfaceIUnmarshallingContext
- Parameters:
rdr
- reader supplying document dataname
- document name- Returns:
- unmarshalled object
- Throws:
JiBXException
- if error creating parser
-
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 interfaceIUnmarshallingContext
- 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 thereset()
method, so to make use of this you need to first call the appropriate version of thesetDocument()
method, then this method, and finally theunmarshalElement(java.lang.Class)
method.- Specified by:
setUserContext
in interfaceIUnmarshallingContext
- Parameters:
obj
- user context object, ornull
if clearing existing context object- See Also:
getUserContext()
-
getUserContext
public java.lang.Object getUserContext()
Get the user context object.- Specified by:
getUserContext
in interfaceIUnmarshallingContext
- Returns:
- user context object, or
null
if no context object set - See Also:
setUserContext(Object)
-
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 interfaceIUnmarshallingContext
- 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
-
popObject
public void popObject() throws JiBXException
Pop unmarshalled object from stack.- Specified by:
popObject
in interfaceIUnmarshallingContext
- Throws:
JiBXException
- if no object on stack
-
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 interfaceIUnmarshallingContext
- 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 interfaceIUnmarshallingContext
- 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 interfaceIUnmarshallingContext
- 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
-
-