Package com.ctc.wstx.evt
Class DefaultEventAllocator
java.lang.Object
com.ctc.wstx.sr.ElemCallback
com.ctc.wstx.evt.DefaultEventAllocator
- All Implemented Interfaces:
XMLEventAllocator
,XMLStreamConstants
public class DefaultEventAllocator
extends ElemCallback
implements XMLEventAllocator, XMLStreamConstants
Straight-forward implementation of
XMLEventAllocator
, to be
used with Woodstox' event reader.
One of few complications here is the way start elements are constructed. The pattern used is double-indirection, needed to get a callback from the stream reader, with data we need for constructing even Object... but without stream reader having any understanding of event Objects per se.
03-Dec-2004, TSa: One additional twist is that it's now possible to create slightly faster event handling, by indicating that the fully accurate Location information is not necessary. If so, allocator will just use one shared Location object passed to all event objects constructed.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final boolean
protected Location
Last used location info; only relevant to non-accurate-location allocators.(package private) static final DefaultEventAllocator
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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
allocate
(XMLStreamReader r, XMLEventConsumer consumer) static DefaultEventAllocator
static DefaultEventAllocator
withStartElement
(Location loc, QName name, BaseNsContext nsCtxt, ElemAttrs attrs, boolean wasEmpty)
-
Field Details
-
sStdInstance
-
mAccurateLocation
protected final boolean mAccurateLocation -
mLastLocation
Last used location info; only relevant to non-accurate-location allocators.
-
-
Constructor Details
-
DefaultEventAllocator
protected DefaultEventAllocator(boolean accurateLocation) - Parameters:
accurateLocation
- If true, allocator will construct instances that have accurate location information; if false, instances will only have some generic shared Location info. Latter option will reduce memory usage/thrashing a bit, and may improve speed.
-
-
Method Details
-
getDefaultInstance
-
getFastInstance
-
allocate
- Specified by:
allocate
in interfaceXMLEventAllocator
- Throws:
XMLStreamException
-
allocate
- Specified by:
allocate
in interfaceXMLEventAllocator
- Throws:
XMLStreamException
-
newInstance
- Specified by:
newInstance
in interfaceXMLEventAllocator
-
withStartElement
public Object withStartElement(Location loc, QName name, BaseNsContext nsCtxt, ElemAttrs attrs, boolean wasEmpty) - Specified by:
withStartElement
in classElemCallback
-