Class ADBXMLStreamReaderImpl
- java.lang.Object
-
- org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl
-
- All Implemented Interfaces:
XMLStreamConstants
,XMLStreamReader
,DataHandlerReader
,Constants
,ADBXMLStreamReader
public class ADBXMLStreamReaderImpl extends Object implements ADBXMLStreamReader, DataHandlerReader
This is the new implementation of the ADBpullaparser. The approach here is simple When the pull parser needs to generate events for a particular name-value(s) pair it always handes over (delegates) the task to another pull parser which knows how to deal with it The common types of name value pairs we'll come across are 1. String name/QName name - String value 2. String name/QName name - String[] value 3. OMElementkey - OMElement value 4. QName name/String name - ADBBean value 5. QName name/String name - Java bean 5. QName name/String name - Datahandler As for the attributes, these are the possible combinations in the array 1. String name/QName name - String value 2. OMAttributeKey - OMAttribute Note that certain array methods have been deliberately removed to avoid complications. The generated code will take the trouble to lay the elements of the array in the correct order Hence there will be a parser impl that knows how to handle these types, and this parent parser will always delegate these tasks to the child pullparasers in effect this is one huge state machine that has only a few states and delegates things down to the child parsers whenever possible
-
-
Field Summary
-
Fields inherited from interface org.apache.axis2.databinding.utils.reader.ADBXMLStreamReader
ELEMENT_TEXT
-
Fields inherited from interface org.apache.axis2.databinding.utils.Constants
DEFAULT_XSD_NAMESPACE_PREFIX, DEFAULT_XSI_NAMESPACE_PREFIX, INNER_ARRAY_COMPLEX_TYPE_NAME, NIL, OM_ATTRIBUTE_KEY, OM_ELEMENT_KEY, RETURN_WRAPPER, TRUE, XSD_NAMESPACE, XSI_NAMESPACE, XSI_TYPE_ATTRIBUTE
-
Fields inherited from interface org.apache.axiom.ext.stax.datahandler.DataHandlerReader
PROPERTY
-
Fields inherited from interface javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
-
-
Constructor Summary
Constructors Constructor Description ADBXMLStreamReaderImpl(QName adbBeansQName, Object[] properties, Object[] attributes)
ADBXMLStreamReaderImpl(QName adbBeansQName, Object[] properties, Object[] attributes, TypeTable typeTable, boolean qualified)
-
Method Summary
-
-
-
Method Detail
-
addNamespaceContext
public void addNamespaceContext(NamespaceContext nsContext)
add the namespace context- Specified by:
addNamespaceContext
in interfaceADBXMLStreamReader
-
init
public void init()
we need to split out the calling to the populate namespaces seperately since this needs to be done *after* setting the parent namespace context. We cannot assume it will happen at construction!- Specified by:
init
in interfaceADBXMLStreamReader
-
getProperty
public Object getProperty(String key) throws IllegalArgumentException
- Specified by:
getProperty
in interfaceXMLStreamReader
- Parameters:
key
-- Throws:
IllegalArgumentException
-
isBinary
public boolean isBinary()
- Specified by:
isBinary
in interfaceDataHandlerReader
-
isOptimized
public boolean isOptimized()
- Specified by:
isOptimized
in interfaceDataHandlerReader
-
isDeferred
public boolean isDeferred()
- Specified by:
isDeferred
in interfaceDataHandlerReader
-
getContentID
public String getContentID()
- Specified by:
getContentID
in interfaceDataHandlerReader
-
getDataHandler
public DataHandler getDataHandler() throws XMLStreamException
- Specified by:
getDataHandler
in interfaceDataHandlerReader
- Throws:
XMLStreamException
-
getDataHandlerProvider
public DataHandlerProvider getDataHandlerProvider()
- Specified by:
getDataHandlerProvider
in interfaceDataHandlerReader
-
require
public void require(int i, String string, String string1) throws XMLStreamException
- Specified by:
require
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
getElementText
public String getElementText() throws XMLStreamException
todo implement the right contract for this- Specified by:
getElementText
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
nextTag
public int nextTag() throws XMLStreamException
todo implement this- Specified by:
nextTag
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
hasNext
public boolean hasNext() throws XMLStreamException
- Specified by:
hasNext
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
close
public void close() throws XMLStreamException
- Specified by:
close
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
getNamespaceURI
public String getNamespaceURI(String prefix)
- Specified by:
getNamespaceURI
in interfaceXMLStreamReader
-
isStartElement
public boolean isStartElement()
- Specified by:
isStartElement
in interfaceXMLStreamReader
-
isEndElement
public boolean isEndElement()
- Specified by:
isEndElement
in interfaceXMLStreamReader
-
isCharacters
public boolean isCharacters()
- Specified by:
isCharacters
in interfaceXMLStreamReader
-
isWhiteSpace
public boolean isWhiteSpace()
- Specified by:
isWhiteSpace
in interfaceXMLStreamReader
-
getAttributeValue
public String getAttributeValue(String nsUri, String localName)
- Specified by:
getAttributeValue
in interfaceXMLStreamReader
-
getAttributeCount
public int getAttributeCount()
- Specified by:
getAttributeCount
in interfaceXMLStreamReader
-
getAttributeName
public QName getAttributeName(int i)
- Specified by:
getAttributeName
in interfaceXMLStreamReader
- Parameters:
i
-
-
getAttributeNamespace
public String getAttributeNamespace(int i)
- Specified by:
getAttributeNamespace
in interfaceXMLStreamReader
-
getAttributeLocalName
public String getAttributeLocalName(int i)
- Specified by:
getAttributeLocalName
in interfaceXMLStreamReader
-
getAttributePrefix
public String getAttributePrefix(int i)
- Specified by:
getAttributePrefix
in interfaceXMLStreamReader
-
getAttributeType
public String getAttributeType(int i)
- Specified by:
getAttributeType
in interfaceXMLStreamReader
-
getAttributeValue
public String getAttributeValue(int i)
- Specified by:
getAttributeValue
in interfaceXMLStreamReader
-
isAttributeSpecified
public boolean isAttributeSpecified(int i)
- Specified by:
isAttributeSpecified
in interfaceXMLStreamReader
-
getNamespaceCount
public int getNamespaceCount()
- Specified by:
getNamespaceCount
in interfaceXMLStreamReader
-
getNamespacePrefix
public String getNamespacePrefix(int i)
- Specified by:
getNamespacePrefix
in interfaceXMLStreamReader
- Parameters:
i
-
-
getNamespaceURI
public String getNamespaceURI(int i)
- Specified by:
getNamespaceURI
in interfaceXMLStreamReader
-
getNamespaceContext
public NamespaceContext getNamespaceContext()
- Specified by:
getNamespaceContext
in interfaceXMLStreamReader
-
getEventType
public int getEventType()
- Specified by:
getEventType
in interfaceXMLStreamReader
-
getText
public String getText()
- Specified by:
getText
in interfaceXMLStreamReader
-
getTextCharacters
public char[] getTextCharacters()
- Specified by:
getTextCharacters
in interfaceXMLStreamReader
-
getTextCharacters
public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException
- Specified by:
getTextCharacters
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
getTextStart
public int getTextStart()
- Specified by:
getTextStart
in interfaceXMLStreamReader
-
getTextLength
public int getTextLength()
- Specified by:
getTextLength
in interfaceXMLStreamReader
-
getEncoding
public String getEncoding()
- Specified by:
getEncoding
in interfaceXMLStreamReader
-
hasText
public boolean hasText()
check the validity of this implementation- Specified by:
hasText
in interfaceXMLStreamReader
-
getLocation
public Location getLocation()
- Specified by:
getLocation
in interfaceXMLStreamReader
-
getName
public QName getName()
- Specified by:
getName
in interfaceXMLStreamReader
-
getLocalName
public String getLocalName()
- Specified by:
getLocalName
in interfaceXMLStreamReader
-
hasName
public boolean hasName()
- Specified by:
hasName
in interfaceXMLStreamReader
-
getNamespaceURI
public String getNamespaceURI()
- Specified by:
getNamespaceURI
in interfaceXMLStreamReader
-
getPrefix
public String getPrefix()
- Specified by:
getPrefix
in interfaceXMLStreamReader
-
getVersion
public String getVersion()
- Specified by:
getVersion
in interfaceXMLStreamReader
-
isStandalone
public boolean isStandalone()
- Specified by:
isStandalone
in interfaceXMLStreamReader
-
standaloneSet
public boolean standaloneSet()
- Specified by:
standaloneSet
in interfaceXMLStreamReader
-
getCharacterEncodingScheme
public String getCharacterEncodingScheme()
- Specified by:
getCharacterEncodingScheme
in interfaceXMLStreamReader
-
getPITarget
public String getPITarget()
- Specified by:
getPITarget
in interfaceXMLStreamReader
-
getPIData
public String getPIData()
- Specified by:
getPIData
in interfaceXMLStreamReader
-
next
public int next() throws XMLStreamException
By far this should be the most important method in this class this method changes the state of the parser- Specified by:
next
in interfaceXMLStreamReader
- Throws:
XMLStreamException
-
isDone
public boolean isDone()
are we done ?- Specified by:
isDone
in interfaceADBXMLStreamReader
-
-