Package com.ctc.wstx.evt
Class DefaultEventAllocator
- java.lang.Object
-
- com.ctc.wstx.sr.ElemCallback
-
- com.ctc.wstx.evt.DefaultEventAllocator
-
- All Implemented Interfaces:
javax.xml.stream.util.XMLEventAllocator
,javax.xml.stream.XMLStreamConstants
public class DefaultEventAllocator extends ElemCallback implements javax.xml.stream.util.XMLEventAllocator, javax.xml.stream.XMLStreamConstants
Straight-forward implementation ofXMLEventAllocator
, 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
Fields Modifier and Type Field Description protected boolean
mAccurateLocation
protected javax.xml.stream.Location
mLastLocation
Last used location info; only relevant to non-accurate-location allocators.(package private) static DefaultEventAllocator
sStdInstance
-
Constructor Summary
Constructors Modifier Constructor Description protected
DefaultEventAllocator(boolean accurateLocation)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.xml.stream.events.XMLEvent
allocate(javax.xml.stream.XMLStreamReader r)
void
allocate(javax.xml.stream.XMLStreamReader r, javax.xml.stream.util.XMLEventConsumer consumer)
static DefaultEventAllocator
getDefaultInstance()
static DefaultEventAllocator
getFastInstance()
javax.xml.stream.util.XMLEventAllocator
newInstance()
java.lang.Object
withStartElement(javax.xml.stream.Location loc, javax.xml.namespace.QName name, BaseNsContext nsCtxt, ElemAttrs attrs, boolean wasEmpty)
-
-
-
Field Detail
-
sStdInstance
static final DefaultEventAllocator sStdInstance
-
mAccurateLocation
protected final boolean mAccurateLocation
-
mLastLocation
protected javax.xml.stream.Location mLastLocation
Last used location info; only relevant to non-accurate-location allocators.
-
-
Constructor Detail
-
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 Detail
-
getDefaultInstance
public static DefaultEventAllocator getDefaultInstance()
-
getFastInstance
public static DefaultEventAllocator getFastInstance()
-
allocate
public javax.xml.stream.events.XMLEvent allocate(javax.xml.stream.XMLStreamReader r) throws javax.xml.stream.XMLStreamException
- Specified by:
allocate
in interfacejavax.xml.stream.util.XMLEventAllocator
- Throws:
javax.xml.stream.XMLStreamException
-
allocate
public void allocate(javax.xml.stream.XMLStreamReader r, javax.xml.stream.util.XMLEventConsumer consumer) throws javax.xml.stream.XMLStreamException
- Specified by:
allocate
in interfacejavax.xml.stream.util.XMLEventAllocator
- Throws:
javax.xml.stream.XMLStreamException
-
newInstance
public javax.xml.stream.util.XMLEventAllocator newInstance()
- Specified by:
newInstance
in interfacejavax.xml.stream.util.XMLEventAllocator
-
withStartElement
public java.lang.Object withStartElement(javax.xml.stream.Location loc, javax.xml.namespace.QName name, BaseNsContext nsCtxt, ElemAttrs attrs, boolean wasEmpty)
- Specified by:
withStartElement
in classElemCallback
-
-