Top Description Fields Constructors Methods
com.ctc.wstx.api

public final Class ReaderConfig

extends CommonConfig
implements InputConfigFlags
Class Inheritance
All Implemented Interfaces
com.ctc.wstx.cfg.InputConfigFlags
Imports
java.lang.ref.SoftReference, java.net.URL, java.util.*, javax.xml.XMLConstants, javax.xml.stream.*, org.codehaus.stax2.XMLInputFactory2, .XMLStreamProperties, org.codehaus.stax2.validation.DTDValidationSchema, com.ctc.wstx.cfg.InputConfigFlags, com.ctc.wstx.dtd.DTDEventListener, com.ctc.wstx.ent.IntEntity, .EntityDecl, com.ctc.wstx.io.BufferRecycler, com.ctc.wstx.util.ArgUtil, .DataUtil, .SymbolTable

Simple configuration container class; passed by reader factory to reader instance created.

In addition to its main task as a configuration container, this class also acts as a wrapper around simple buffer recycling functionality. The reason is that while conceptually this is a separate concern, there are enough commonalities with the life-cycle of this object to make this a very convenience place to add that functionality... (that is: conceptually this is not right, but from pragmatic viewpoint it just makes sense)

Field Summary

Modifier and TypeField and Description
pack-priv static final int
DEFAULT_FLAGS_FULL

Default config flags are converted from individual settings, to conform to StAX 1.0 specifications.

pack-priv static final int
DEFAULT_FLAGS_J2ME

For now defaults for J2ME flags can be identical to 'full' set; differences are in buffer sizes.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
pack-priv static final int
DEFAULT_SHORTEST_TEXT_SEGMENT

By default, let's require minimum of 64 chars to be delivered as shortest partial (piece of) text (CDATA, text) segment; same for both J2ME subset and full readers.

pack-priv static final int
pack-priv static final int
DTD_CACHE_SIZE_J2SE

Let's allow caching of just a dozen DTDs...

protected URL
mBaseURL

Base URL to use as the resolution context for relative entity references

protected int
mConfigFlagMods

Bitset that indicates explicit changes to mConfigFlags through calls; empty bit means that the corresponding property has its default value, set bit that an explicit call has been made.

protected int
mConfigFlags

Bitset that contains state of on/off properties; initialized to defaults, but can be set/cleared.

pack-priv BufferRecycler
mCurrRecycler

This is the actually container of the recyclable buffers.

pack-priv XMLResolver
pack-priv XMLResolver
pack-priv static final int
MIN_INPUT_BUFFER_LENGTH

Need to set a minimum size, since there are some limitations to smallest consequtive block that can be used.

protected int
protected final boolean
protected int
protected int
protected long
protected int
protected int
protected long
protected int
protected long
protected int
protected int
protected int
protected WstxInputProperties.ParsingMode
mParsingMode

Parsing mode can be changed from the default xml compliant behavior to one of alternate modes (fragment processing, multiple document processing).

pack-priv static final ThreadLocal<SoftReference<BufferRecycler>>
mRecyclerRef

This ThreadLocal contains a SoftRerefence to a BufferRecycler used to provide a low-cost buffer recycling between Reader instances.

pack-priv XMLReporter
pack-priv Object[]
protected final SymbolTable
protected boolean
mXml11

This boolean flag is set if the input document requires xml 1.1 (or above) compliant processing: default is xml 1.0 compliant.

pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
public static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
PROP_INTERN_NAMES_EXPLICIT

13-Nov-2008, tatus: Need to be able to keep track of whether name-interning has been explicitly enabled/disable or not (not if it's whatever defaults we have)

pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
PROP_NORMALIZE_LFS

Note

this entry was deprecated for 4.0 versions up until and including 4.0.7; was brought back for 4.0.8 (and will be retained for 4.1)

pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
private static final int
private static final int
private static final int
private static final int
private static final int
pack-priv static final HashMap<String, Integer>
sProperties

Map to use for converting from String property ids to ints described above; useful to allow use of switch later on.

Inherited from com.ctc.wstx.api.CommonConfig:
CPROP_IMPL_NAMECPROP_IMPL_VERSIONCPROP_RETURN_NULL_FOR_DEFAULT_NAMESPACECPROP_SUPPORT_XMLIDCPROP_SUPPORTS_XML11IMPL_NAMEIMPL_VERSIONmReturnNullForDefaultNamespacesStdProperties

Constructor Summary

AccessConstructor and Description
private
ReaderConfig(ReaderConfig base, boolean j2meSubset, SymbolTable symbols, int configFlags, int configFlagMods, int inputBufLen, int minTextSegmentLen)

Method Summary

Modifier and TypeMethod and Description
private final Object
protected boolean
_hasConfigFlag(int flag)

protected boolean
_hasExplicitConfigFlag(int flag)

Method similar to _hasConfigFlag, but that will only return true if in addition to being set, flag has been explicitly modified (i.e. setProperty has been called to modify it)

private final void
_setSpecialProperty(int ix, Object value)

public byte[]
allocFullBBuffer(int minSize)

public char[]
allocFullCBuffer(int minSize)

public char[]
allocMediumCBuffer(int minSize)

public char[]
allocSmallCBuffer(int minSize)

public void
clearConfigFlag(int flag)

public void
configureForConvenience()

Method to call to make Reader created be as "convenient" to use as possible; ie try to avoid having to deal with some of things like segmented text chunks.

public void
configureForLowMemUsage()

Method to call to minimize the memory usage of the stream/event reader; both regarding Objects created, and the temporary memory usage during parsing.

public void
configureForRoundTripping()

Method to call to make Reader try to preserve as much of input formatting as possible, so that round-tripping would be as lossless as possible.

public void
configureForSpeed()

Method to call to make the Reader created be as fast as possible reading documents, especially for long-running processes where caching is likely to help.

public void
configureForXmlConformance()

Method to call to make Reader created conform as closely to XML standard as possible, doing all checks and transformations mandated (linefeed conversions, attr value normalizations).

public static ReaderConfig
public static ReaderConfig
public ReaderConfig
private BufferRecycler
public void
doAllowXml11EscapedCharsInXml10(final boolean state)

public void
doAutoCloseInput(boolean state)

public void
doCacheDTDs(boolean state)

public void
doCacheDTDsByPublicId(boolean state)

public void
doCoalesceText(boolean state)

public void
doInternNames(boolean state)

public void
doInternNsURIs(boolean state)

public void
doNormalizeLFs(final boolean state)

public void
doParseLazily(boolean state)

public void
doPreserveLocation(boolean state)

public void
doProcessSecurely(boolean value)

Method called when {code XMLConstants.FEATURE_SECURE_PROCESSING} is being enabled or disabled.

public void
doReplaceEntityRefs(boolean state)

public void
doReportCData(boolean state)

public void
doReportPrologWhitespace(boolean state)

public void
doSupportDTDPP(boolean state)

public void
doSupportDTDs(boolean state)

public void
public void
doSupportNamespaces(boolean state)

public void
doTreatCharRefsAsEnts(final boolean state)

public void
doValidateWithDTD(boolean state)

public void
doXmlIdTyping(boolean state)

public void
doXmlIdUniqChecks(boolean state)

public void
enableXml11(boolean state)

Method called to enable or disable 1.1 compliant processing; if disabled, defaults to xml 1.0 compliant processing.

public EntityDecl
protected int
public void
freeFullBBuffer(byte[] buffer)

public void
freeFullCBuffer(char[] buffer)

public void
freeMediumCBuffer(char[] buffer)

public void
freeSmallCBuffer(char[] buffer)

public URL
public int
public Map<String, EntityDecl>
public int
getDtdCacheSize()

In future this property could/should be made configurable?

public DTDEventListener
public DTDValidationSchema
public XMLResolver
public XMLResolver
public int
public WstxInputProperties.ParsingMode
public int
public int
public long
public int
public int
public long
public int
public long
public int
public long
public Object
public int
public SymbolTable
public XMLResolver
public XMLReporter
public XMLResolver
public boolean
hasInternNamesBeenEnabled()

Special accessor to use to verify whether name interning has explicitly been enabled; true if call was been made to set it to true; false otherwise (default, or set to false)

public boolean
public boolean
public boolean
public boolean

Returns:

true, if the user explicitly disabled coalescing, else false
isCoalescingExplicitlyDisabled
()

Checks if the user explicitly set coalescing to false.

public boolean

Returns:

True if the input well-formedness and validation checks should be done according to xml 1.1 specification; false if xml 1.0 specification.
isXml11
()

public void
resetState()

Unlike name suggests there is also some limited state information associated with the config object.

public void
setBaseURL(URL baseURL)

public void
setConfigFlag(int flag)

private void
setConfigFlag(int flag, boolean state)

public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
setMaxCharacters(long value)

public void
public void
setMaxDtdDepth(int value)

public void
setMaxElementCount(long value)

public void
setMaxElementDepth(int value)

public void
setMaxEntityCount(long value)

public void
setMaxEntityDepth(int value)

public void
setMaxTextLength(int value)

public boolean
setProperty(String propName, int id, Object value)

Implements abstract com.ctc.wstx.api.CommonConfig.setProperty.

public void
public void
public void
public void
setXMLResolver(XMLResolver r)

Note

for better granularity, you should call setEntityResolver and setDtdResolver instead.

public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
Inherited from com.ctc.wstx.api.CommonConfig:
doesSupportXml11doesSupportXmlIdfindStdPropertyIdgetImplNamegetImplVersiongetPropertygetStdPropertyisPropertySupportedreportUnknownPropertyreturnNullForDefaultNamespacesafeGetPropertysetPropertysetStdProperty