Class ReaderConfig
- java.lang.Object
-
- com.ctc.wstx.api.CommonConfig
-
- com.ctc.wstx.api.ReaderConfig
-
- All Implemented Interfaces:
InputConfigFlags
,org.codehaus.stax2.XMLStreamProperties
public final class ReaderConfig extends CommonConfig implements InputConfigFlags
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
Fields Modifier and Type Field Description (package private) static int
DEFAULT_FLAGS_FULL
Default config flags are converted from individual settings, to conform to StAX 1.0 specifications.(package private) static int
DEFAULT_FLAGS_J2ME
For now defaults for J2ME flags can be identical to 'full' set; differences are in buffer sizes.static int
DEFAULT_MAX_ATTRIBUTE_LENGTH
static int
DEFAULT_MAX_ATTRIBUTES_PER_ELEMENT
static int
DEFAULT_MAX_ELEMENT_DEPTH
static int
DEFAULT_MAX_ENTITY_COUNT
static int
DEFAULT_MAX_ENTITY_DEPTH
(package private) static 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.(package private) static int
DTD_CACHE_SIZE_J2ME
(package private) static int
DTD_CACHE_SIZE_J2SE
Let's allow caching of just a dozen DTDs...protected java.net.URL
mBaseURL
Base URL to use as the resolution context for relative entity referencesprotected int
mConfigFlagMods
Bitset that indicates explicit changes tomConfigFlags
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.(package private) BufferRecycler
mCurrRecycler
This is the actually container of the recyclable buffers.(package private) javax.xml.stream.XMLResolver
mDtdResolver
(package private) javax.xml.stream.XMLResolver
mEntityResolver
(package private) static 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
mInputBufferLen
protected boolean
mIsJ2MESubset
protected int
mMaxAttributeSize
protected int
mMaxAttributesPerElement
protected long
mMaxCharacters
protected int
mMaxChildrenPerElement
protected long
mMaxElementCount
protected int
mMaxElementDepth
protected long
mMaxEntityCount
protected int
mMaxEntityDepth
protected int
mMaxTextLength
protected int
mMinTextSegmentLen
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).(package private) static java.lang.ThreadLocal<java.lang.ref.SoftReference<BufferRecycler>>
mRecyclerRef
ThisThreadLocal
contains aSoftRerefence
to aBufferRecycler
used to provide a low-cost buffer recycling between Reader instances.(package private) javax.xml.stream.XMLReporter
mReporter
(package private) java.lang.Object[]
mSpecialProperties
protected SymbolTable
mSymbols
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.(package private) static int
PROP_ALLOW_XML11_ESCAPED_CHARS_IN_XML10
(package private) static int
PROP_AUTO_CLOSE_INPUT
(package private) static int
PROP_BASE_URL
(package private) static int
PROP_CACHE_DTDS
(package private) static int
PROP_CACHE_DTDS_BY_PUBLIC_ID
(package private) static int
PROP_COALESCE_TEXT
(package private) static int
PROP_CUSTOM_INTERNAL_ENTITIES
(package private) static int
PROP_DTD_OVERRIDE
(package private) static int
PROP_DTD_RESOLVER
(package private) static int
PROP_ENTITY_RESOLVER
static int
PROP_EVENT_ALLOCATOR
(package private) static int
PROP_INPUT_BUFFER_LENGTH
(package private) static int
PROP_INPUT_PARSING_MODE
(package private) static int
PROP_INTERN_NAMES
(package private) static 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)(package private) static int
PROP_INTERN_NS_URIS
(package private) static int
PROP_INTERN_NS_URIS_EXPLICIT
(package private) static int
PROP_JAXP_SECURE_PROCESSING
(package private) static int
PROP_LAZY_PARSING
(package private) static int
PROP_MAX_ATTRIBUTE_SIZE
(package private) static int
PROP_MAX_ATTRIBUTES_PER_ELEMENT
(package private) static int
PROP_MAX_CHARACTERS
(package private) static int
PROP_MAX_CHILDREN_PER_ELEMENT
(package private) static int
PROP_MAX_ELEMENT_COUNT
(package private) static int
PROP_MAX_ELEMENT_DEPTH
(package private) static int
PROP_MAX_ENTITY_COUNT
(package private) static int
PROP_MAX_ENTITY_DEPTH
(package private) static int
PROP_MAX_TEXT_LENGTH
(package private) static int
PROP_MIN_TEXT_SEGMENT
(package private) static int
PROP_NAMESPACE_AWARE
(package private) static 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)(package private) static int
PROP_PRESERVE_LOCATION
(package private) static int
PROP_REPLACE_ENTITY_REFS
(package private) static int
PROP_REPORT_CDATA
(package private) static int
PROP_REPORT_PROLOG_WS
(package private) static int
PROP_SUPPORT_DTD
(package private) static int
PROP_SUPPORT_DTDPP
(package private) static int
PROP_SUPPORT_EXTERNAL_ENTITIES
(package private) static int
PROP_SUPPORT_XMLID
(package private) static int
PROP_TREAT_CHAR_REFS_AS_ENTS
(package private) static int
PROP_UNDECLARED_ENTITY_RESOLVER
(package private) static int
PROP_VALIDATE_AGAINST_DTD
(package private) static int
PROP_WARNING_REPORTER
(package private) static int
PROP_XML_RESOLVER
private static int
SP_IX_CUSTOM_ENTITIES
private static int
SP_IX_DTD_EVENT_LISTENER
private static int
SP_IX_DTD_OVERRIDE
private static int
SP_IX_UNDECL_ENT_RESOLVER
private static int
SPEC_PROC_COUNT
(package private) static java.util.HashMap<java.lang.String,java.lang.Integer>
sProperties
Map to use for converting from String property ids to ints described above; useful to allow use of switch later on.-
Fields inherited from class com.ctc.wstx.api.CommonConfig
CPROP_IMPL_NAME, CPROP_IMPL_VERSION, CPROP_RETURN_NULL_FOR_DEFAULT_NAMESPACE, CPROP_SUPPORT_XMLID, CPROP_SUPPORTS_XML11, IMPL_NAME, IMPL_VERSION, mReturnNullForDefaultNamespace, sStdProperties
-
Fields inherited from interface com.ctc.wstx.cfg.InputConfigFlags
CFG_ALLOW_XML11_ESCAPED_CHARS_IN_XML10, CFG_AUTO_CLOSE_INPUT, CFG_CACHE_DTDS, CFG_CACHE_DTDS_BY_PUBLIC_ID, CFG_COALESCE_TEXT, CFG_INTERN_NAMES, CFG_INTERN_NS_URIS, CFG_JAXP_FEATURE_SECURE_PROCESSING, CFG_LAZY_PARSING, CFG_NAMESPACE_AWARE, CFG_NORMALIZE_LFS, CFG_PRESERVE_LOCATION, CFG_REPLACE_ENTITY_REFS, CFG_REPORT_CDATA, CFG_REPORT_PROLOG_WS, CFG_SUPPORT_DTD, CFG_SUPPORT_DTDPP, CFG_SUPPORT_EXTERNAL_ENTITIES, CFG_TREAT_CHAR_REFS_AS_ENTS, CFG_VALIDATE_AGAINST_DTD, CFG_XMLID_TYPING, CFG_XMLID_UNIQ_CHECKS
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ReaderConfig(ReaderConfig base, boolean j2meSubset, SymbolTable symbols, int configFlags, int configFlagMods, int inputBufLen, int minTextSegmentLen)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Object
_getSpecialProperty(int ix)
protected boolean
_hasConfigFlag(int flag)
protected boolean
_hasExplicitConfigFlag(int flag)
Method similar to_hasConfigFlag(int)
, but that will only return true if in addition to being set, flag has been explicitly modified (i.e.private void
_setSpecialProperty(int ix, java.lang.Object value)
byte[]
allocFullBBuffer(int minSize)
char[]
allocFullCBuffer(int minSize)
char[]
allocMediumCBuffer(int minSize)
char[]
allocSmallCBuffer(int minSize)
void
clearConfigFlag(int flag)
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.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.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.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.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).static ReaderConfig
createFullDefaults()
static ReaderConfig
createJ2MEDefaults()
ReaderConfig
createNonShared(SymbolTable sym)
private BufferRecycler
createRecycler()
void
doAllowXml11EscapedCharsInXml10(boolean state)
void
doAutoCloseInput(boolean state)
void
doCacheDTDs(boolean state)
void
doCacheDTDsByPublicId(boolean state)
void
doCoalesceText(boolean state)
void
doInternNames(boolean state)
void
doInternNsURIs(boolean state)
void
doNormalizeLFs(boolean state)
void
doParseLazily(boolean state)
void
doPreserveLocation(boolean state)
void
doProcessSecurely(boolean value)
Method called when {code XMLConstants.FEATURE_SECURE_PROCESSING} is being enabled or disabled.void
doReplaceEntityRefs(boolean state)
void
doReportCData(boolean state)
void
doReportPrologWhitespace(boolean state)
void
doSupportDTDPP(boolean state)
void
doSupportDTDs(boolean state)
void
doSupportExternalEntities(boolean state)
void
doSupportNamespaces(boolean state)
void
doTreatCharRefsAsEnts(boolean state)
void
doValidateWithDTD(boolean state)
void
doXmlIdTyping(boolean state)
void
doXmlIdUniqChecks(boolean state)
void
enableXml11(boolean state)
Method called to enable or disable 1.1 compliant processing; if disabled, defaults to xml 1.0 compliant processing.EntityDecl
findCustomInternalEntity(java.lang.String id)
protected int
findPropertyId(java.lang.String propName)
void
freeFullBBuffer(byte[] buffer)
void
freeFullCBuffer(char[] buffer)
void
freeMediumCBuffer(char[] buffer)
void
freeSmallCBuffer(char[] buffer)
java.net.URL
getBaseURL()
int
getConfigFlags()
java.util.Map<java.lang.String,EntityDecl>
getCustomInternalEntities()
int
getDtdCacheSize()
In future this property could/should be made configurable?DTDEventListener
getDTDEventListener()
org.codehaus.stax2.validation.DTDValidationSchema
getDTDOverride()
javax.xml.stream.XMLResolver
getDtdResolver()
javax.xml.stream.XMLResolver
getEntityResolver()
int
getInputBufferLength()
WstxInputProperties.ParsingMode
getInputParsingMode()
int
getMaxAttributeSize()
int
getMaxAttributesPerElement()
long
getMaxCharacters()
int
getMaxChildrenPerElement()
long
getMaxElementCount()
int
getMaxElementDepth()
long
getMaxEntityCount()
int
getMaxEntityDepth()
long
getMaxTextLength()
java.lang.Object
getProperty(int id)
int
getShortestReportedTextSegment()
SymbolTable
getSymbols()
javax.xml.stream.XMLResolver
getUndeclaredEntityResolver()
javax.xml.stream.XMLReporter
getXMLReporter()
javax.xml.stream.XMLResolver
getXMLResolver()
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)boolean
hasInternNsURIsBeenEnabled()
boolean
inputParsingModeDocuments()
boolean
inputParsingModeFragment()
boolean
isXml11()
void
resetState()
Unlike name suggests there is also some limited state information associated with the config object.void
setBaseURL(java.net.URL baseURL)
void
setConfigFlag(int flag)
private void
setConfigFlag(int flag, boolean state)
void
setCustomInternalEntities(java.util.Map<java.lang.String,?> m)
void
setDTDEventListener(DTDEventListener l)
void
setDTDOverride(org.codehaus.stax2.validation.DTDValidationSchema schema)
void
setDtdResolver(javax.xml.stream.XMLResolver r)
void
setEntityResolver(javax.xml.stream.XMLResolver r)
void
setInputBufferLength(int value)
void
setInputParsingMode(WstxInputProperties.ParsingMode mode)
void
setMaxAttributeSize(int value)
void
setMaxAttributesPerElement(int value)
void
setMaxCharacters(long value)
void
setMaxChildrenPerElement(int value)
void
setMaxElementCount(long value)
void
setMaxElementDepth(int value)
void
setMaxEntityCount(long value)
void
setMaxEntityDepth(int value)
void
setMaxTextLength(int value)
boolean
setProperty(java.lang.String propName, int id, java.lang.Object value)
void
setShortestReportedTextSegment(int value)
void
setUndeclaredEntityResolver(javax.xml.stream.XMLResolver r)
void
setXMLReporter(javax.xml.stream.XMLReporter r)
void
setXMLResolver(javax.xml.stream.XMLResolver r)
Note: for better granularity, you should callsetEntityResolver(javax.xml.stream.XMLResolver)
andsetDtdResolver(javax.xml.stream.XMLResolver)
instead.boolean
willAllowXml11EscapedCharsInXml10()
boolean
willAutoCloseInput()
boolean
willCacheDTDs()
boolean
willCacheDTDsByPublicId()
boolean
willCoalesceText()
boolean
willDoXmlIdTyping()
boolean
willDoXmlIdUniqChecks()
boolean
willInternNames()
boolean
willInternNsURIs()
boolean
willNormalizeLFs()
boolean
willParseLazily()
boolean
willPreserveLocation()
boolean
willProcessSecurely()
boolean
willReplaceEntityRefs()
boolean
willReportCData()
boolean
willReportPrologWhitespace()
boolean
willSupportDTDPP()
boolean
willSupportDTDs()
boolean
willSupportExternalEntities()
boolean
willSupportNamespaces()
boolean
willTreatCharRefsAsEnts()
boolean
willValidateWithDTD()
-
Methods inherited from class com.ctc.wstx.api.CommonConfig
doesSupportXml11, doesSupportXmlId, findStdPropertyId, getImplName, getImplVersion, getProperty, getStdProperty, isPropertySupported, reportUnknownProperty, returnNullForDefaultNamespace, safeGetProperty, setProperty, setStdProperty
-
-
-
-
Field Detail
-
DEFAULT_MAX_ATTRIBUTES_PER_ELEMENT
public static final int DEFAULT_MAX_ATTRIBUTES_PER_ELEMENT
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ATTRIBUTE_LENGTH
public static final int DEFAULT_MAX_ATTRIBUTE_LENGTH
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ELEMENT_DEPTH
public static final int DEFAULT_MAX_ELEMENT_DEPTH
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ENTITY_DEPTH
public static final int DEFAULT_MAX_ENTITY_DEPTH
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ENTITY_COUNT
public static final int DEFAULT_MAX_ENTITY_COUNT
- See Also:
- Constant Field Values
-
PROP_COALESCE_TEXT
static final int PROP_COALESCE_TEXT
- See Also:
- Constant Field Values
-
PROP_NAMESPACE_AWARE
static final int PROP_NAMESPACE_AWARE
- See Also:
- Constant Field Values
-
PROP_REPLACE_ENTITY_REFS
static final int PROP_REPLACE_ENTITY_REFS
- See Also:
- Constant Field Values
-
PROP_SUPPORT_EXTERNAL_ENTITIES
static final int PROP_SUPPORT_EXTERNAL_ENTITIES
- See Also:
- Constant Field Values
-
PROP_VALIDATE_AGAINST_DTD
static final int PROP_VALIDATE_AGAINST_DTD
- See Also:
- Constant Field Values
-
PROP_SUPPORT_DTD
static final int PROP_SUPPORT_DTD
- See Also:
- Constant Field Values
-
PROP_EVENT_ALLOCATOR
public static final int PROP_EVENT_ALLOCATOR
- See Also:
- Constant Field Values
-
PROP_WARNING_REPORTER
static final int PROP_WARNING_REPORTER
- See Also:
- Constant Field Values
-
PROP_XML_RESOLVER
static final int PROP_XML_RESOLVER
- See Also:
- Constant Field Values
-
PROP_INTERN_NS_URIS
static final int PROP_INTERN_NS_URIS
- See Also:
- Constant Field Values
-
PROP_INTERN_NAMES
static final int PROP_INTERN_NAMES
- See Also:
- Constant Field Values
-
PROP_REPORT_CDATA
static final int PROP_REPORT_CDATA
- See Also:
- Constant Field Values
-
PROP_REPORT_PROLOG_WS
static final int PROP_REPORT_PROLOG_WS
- See Also:
- Constant Field Values
-
PROP_PRESERVE_LOCATION
static final int PROP_PRESERVE_LOCATION
- See Also:
- Constant Field Values
-
PROP_AUTO_CLOSE_INPUT
static final int PROP_AUTO_CLOSE_INPUT
- See Also:
- Constant Field Values
-
PROP_SUPPORT_XMLID
static final int PROP_SUPPORT_XMLID
- See Also:
- Constant Field Values
-
PROP_DTD_OVERRIDE
static final int PROP_DTD_OVERRIDE
- See Also:
- Constant Field Values
-
PROP_JAXP_SECURE_PROCESSING
static final int PROP_JAXP_SECURE_PROCESSING
- See Also:
- Constant Field Values
-
PROP_NORMALIZE_LFS
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)- See Also:
- Constant Field Values
-
PROP_CACHE_DTDS
static final int PROP_CACHE_DTDS
- See Also:
- Constant Field Values
-
PROP_CACHE_DTDS_BY_PUBLIC_ID
static final int PROP_CACHE_DTDS_BY_PUBLIC_ID
- See Also:
- Constant Field Values
-
PROP_LAZY_PARSING
static final int PROP_LAZY_PARSING
- See Also:
- Constant Field Values
-
PROP_SUPPORT_DTDPP
static final int PROP_SUPPORT_DTDPP
- See Also:
- Constant Field Values
-
PROP_TREAT_CHAR_REFS_AS_ENTS
static final int PROP_TREAT_CHAR_REFS_AS_ENTS
- See Also:
- Constant Field Values
-
PROP_ALLOW_XML11_ESCAPED_CHARS_IN_XML10
static final int PROP_ALLOW_XML11_ESCAPED_CHARS_IN_XML10
- Since:
- 5.2
- See Also:
- Constant Field Values
-
PROP_INPUT_BUFFER_LENGTH
static final int PROP_INPUT_BUFFER_LENGTH
- See Also:
- Constant Field Values
-
PROP_MIN_TEXT_SEGMENT
static final int PROP_MIN_TEXT_SEGMENT
- See Also:
- Constant Field Values
-
PROP_CUSTOM_INTERNAL_ENTITIES
static final int PROP_CUSTOM_INTERNAL_ENTITIES
- See Also:
- Constant Field Values
-
PROP_DTD_RESOLVER
static final int PROP_DTD_RESOLVER
- See Also:
- Constant Field Values
-
PROP_ENTITY_RESOLVER
static final int PROP_ENTITY_RESOLVER
- See Also:
- Constant Field Values
-
PROP_UNDECLARED_ENTITY_RESOLVER
static final int PROP_UNDECLARED_ENTITY_RESOLVER
- See Also:
- Constant Field Values
-
PROP_BASE_URL
static final int PROP_BASE_URL
- See Also:
- Constant Field Values
-
PROP_INPUT_PARSING_MODE
static final int PROP_INPUT_PARSING_MODE
- See Also:
- Constant Field Values
-
PROP_MAX_ATTRIBUTES_PER_ELEMENT
static final int PROP_MAX_ATTRIBUTES_PER_ELEMENT
- See Also:
- Constant Field Values
-
PROP_MAX_CHILDREN_PER_ELEMENT
static final int PROP_MAX_CHILDREN_PER_ELEMENT
- See Also:
- Constant Field Values
-
PROP_MAX_ELEMENT_COUNT
static final int PROP_MAX_ELEMENT_COUNT
- See Also:
- Constant Field Values
-
PROP_MAX_ELEMENT_DEPTH
static final int PROP_MAX_ELEMENT_DEPTH
- See Also:
- Constant Field Values
-
PROP_MAX_CHARACTERS
static final int PROP_MAX_CHARACTERS
- See Also:
- Constant Field Values
-
PROP_MAX_ATTRIBUTE_SIZE
static final int PROP_MAX_ATTRIBUTE_SIZE
- See Also:
- Constant Field Values
-
PROP_MAX_TEXT_LENGTH
static final int PROP_MAX_TEXT_LENGTH
- See Also:
- Constant Field Values
-
PROP_MAX_ENTITY_COUNT
static final int PROP_MAX_ENTITY_COUNT
- See Also:
- Constant Field Values
-
PROP_MAX_ENTITY_DEPTH
static final int PROP_MAX_ENTITY_DEPTH
- See Also:
- Constant Field Values
-
MIN_INPUT_BUFFER_LENGTH
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.- See Also:
- Constant Field Values
-
DTD_CACHE_SIZE_J2SE
static final int DTD_CACHE_SIZE_J2SE
Let's allow caching of just a dozen DTDs... shouldn't really matter, how many DTDs does one really use?- See Also:
- Constant Field Values
-
DTD_CACHE_SIZE_J2ME
static final int DTD_CACHE_SIZE_J2ME
- See Also:
- Constant Field Values
-
DEFAULT_SHORTEST_TEXT_SEGMENT
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. Prevents tiniest runts from getting passed- See Also:
- Constant Field Values
-
DEFAULT_FLAGS_FULL
static final int DEFAULT_FLAGS_FULL
Default config flags are converted from individual settings, to conform to StAX 1.0 specifications.- See Also:
- Constant Field Values
-
DEFAULT_FLAGS_J2ME
static final int DEFAULT_FLAGS_J2ME
For now defaults for J2ME flags can be identical to 'full' set; differences are in buffer sizes.- See Also:
- Constant Field Values
-
sProperties
static final java.util.HashMap<java.lang.String,java.lang.Integer> sProperties
Map to use for converting from String property ids to ints described above; useful to allow use of switch later on.
-
mIsJ2MESubset
protected final boolean mIsJ2MESubset
-
mSymbols
protected final SymbolTable mSymbols
-
mConfigFlags
protected int mConfigFlags
Bitset that contains state of on/off properties; initialized to defaults, but can be set/cleared.
-
mConfigFlagMods
protected int mConfigFlagMods
Bitset that indicates explicit changes tomConfigFlags
through calls; empty bit means that the corresponding property has its default value, set bit that an explicit call has been made.
-
PROP_INTERN_NAMES_EXPLICIT
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)- See Also:
- Constant Field Values
-
PROP_INTERN_NS_URIS_EXPLICIT
static final int PROP_INTERN_NS_URIS_EXPLICIT
- See Also:
- Constant Field Values
-
mInputBufferLen
protected int mInputBufferLen
-
mMinTextSegmentLen
protected int mMinTextSegmentLen
-
mMaxAttributesPerElement
protected int mMaxAttributesPerElement
-
mMaxAttributeSize
protected int mMaxAttributeSize
-
mMaxChildrenPerElement
protected int mMaxChildrenPerElement
-
mMaxElementDepth
protected int mMaxElementDepth
-
mMaxElementCount
protected long mMaxElementCount
-
mMaxCharacters
protected long mMaxCharacters
-
mMaxTextLength
protected int mMaxTextLength
-
mMaxEntityDepth
protected int mMaxEntityDepth
-
mMaxEntityCount
protected long mMaxEntityCount
-
mBaseURL
protected java.net.URL mBaseURL
Base URL to use as the resolution context for relative entity references
-
mParsingMode
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).
-
mXml11
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. Note that unlike most other properties, this does not come from configuration settings, but from processed document itself.
-
mReporter
javax.xml.stream.XMLReporter mReporter
-
mDtdResolver
javax.xml.stream.XMLResolver mDtdResolver
-
mEntityResolver
javax.xml.stream.XMLResolver mEntityResolver
-
mSpecialProperties
java.lang.Object[] mSpecialProperties
-
SPEC_PROC_COUNT
private static final int SPEC_PROC_COUNT
- See Also:
- Constant Field Values
-
SP_IX_CUSTOM_ENTITIES
private static final int SP_IX_CUSTOM_ENTITIES
- See Also:
- Constant Field Values
-
SP_IX_UNDECL_ENT_RESOLVER
private static final int SP_IX_UNDECL_ENT_RESOLVER
- See Also:
- Constant Field Values
-
SP_IX_DTD_EVENT_LISTENER
private static final int SP_IX_DTD_EVENT_LISTENER
- See Also:
- Constant Field Values
-
SP_IX_DTD_OVERRIDE
private static final int SP_IX_DTD_OVERRIDE
- See Also:
- Constant Field Values
-
mRecyclerRef
static final java.lang.ThreadLocal<java.lang.ref.SoftReference<BufferRecycler>> mRecyclerRef
ThisThreadLocal
contains aSoftRerefence
to aBufferRecycler
used to provide a low-cost buffer recycling between Reader instances.
-
mCurrRecycler
BufferRecycler mCurrRecycler
This is the actually container of the recyclable buffers. It is obtained via ThreadLocal/SoftReference combination, if one exists, when Config instance is created. If one does not exist, it will created first time a buffer is returned.
-
-
Constructor Detail
-
ReaderConfig
private ReaderConfig(ReaderConfig base, boolean j2meSubset, SymbolTable symbols, int configFlags, int configFlagMods, int inputBufLen, int minTextSegmentLen)
-
-
Method Detail
-
createJ2MEDefaults
public static ReaderConfig createJ2MEDefaults()
-
createFullDefaults
public static ReaderConfig createFullDefaults()
-
createNonShared
public ReaderConfig createNonShared(SymbolTable sym)
-
resetState
public void resetState()
Unlike name suggests there is also some limited state information associated with the config object. If these objects are reused, that state needs to be reset between reuses, to avoid carrying over incorrect state.
-
findPropertyId
protected int findPropertyId(java.lang.String propName)
- Specified by:
findPropertyId
in classCommonConfig
- Returns:
- Internal enumerated int matching the String name of the property, if one found: -1 to indicate no match was found.
-
getSymbols
public SymbolTable getSymbols()
-
getDtdCacheSize
public int getDtdCacheSize()
In future this property could/should be made configurable?
-
getConfigFlags
public int getConfigFlags()
-
willCoalesceText
public boolean willCoalesceText()
-
willSupportNamespaces
public boolean willSupportNamespaces()
-
willReplaceEntityRefs
public boolean willReplaceEntityRefs()
-
willSupportExternalEntities
public boolean willSupportExternalEntities()
-
willSupportDTDs
public boolean willSupportDTDs()
-
willValidateWithDTD
public boolean willValidateWithDTD()
-
willReportCData
public boolean willReportCData()
-
willParseLazily
public boolean willParseLazily()
-
willInternNames
public boolean willInternNames()
-
willInternNsURIs
public boolean willInternNsURIs()
-
willPreserveLocation
public boolean willPreserveLocation()
-
willAutoCloseInput
public boolean willAutoCloseInput()
-
willProcessSecurely
public boolean willProcessSecurely()
-
willReportPrologWhitespace
public boolean willReportPrologWhitespace()
-
willCacheDTDs
public boolean willCacheDTDs()
-
willCacheDTDsByPublicId
public boolean willCacheDTDsByPublicId()
-
willDoXmlIdTyping
public boolean willDoXmlIdTyping()
-
willDoXmlIdUniqChecks
public boolean willDoXmlIdUniqChecks()
-
willSupportDTDPP
public boolean willSupportDTDPP()
-
willNormalizeLFs
public boolean willNormalizeLFs()
-
willTreatCharRefsAsEnts
public boolean willTreatCharRefsAsEnts()
-
willAllowXml11EscapedCharsInXml10
public boolean willAllowXml11EscapedCharsInXml10()
-
getInputBufferLength
public int getInputBufferLength()
-
getShortestReportedTextSegment
public int getShortestReportedTextSegment()
-
getMaxAttributesPerElement
public int getMaxAttributesPerElement()
-
getMaxAttributeSize
public int getMaxAttributeSize()
-
getMaxChildrenPerElement
public int getMaxChildrenPerElement()
-
getMaxElementDepth
public int getMaxElementDepth()
-
getMaxElementCount
public long getMaxElementCount()
-
getMaxEntityDepth
public int getMaxEntityDepth()
-
getMaxEntityCount
public long getMaxEntityCount()
-
getMaxCharacters
public long getMaxCharacters()
-
getMaxTextLength
public long getMaxTextLength()
-
getCustomInternalEntities
public java.util.Map<java.lang.String,EntityDecl> getCustomInternalEntities()
-
findCustomInternalEntity
public EntityDecl findCustomInternalEntity(java.lang.String id)
-
getXMLReporter
public javax.xml.stream.XMLReporter getXMLReporter()
-
getXMLResolver
public javax.xml.stream.XMLResolver getXMLResolver()
-
getDtdResolver
public javax.xml.stream.XMLResolver getDtdResolver()
-
getEntityResolver
public javax.xml.stream.XMLResolver getEntityResolver()
-
getUndeclaredEntityResolver
public javax.xml.stream.XMLResolver getUndeclaredEntityResolver()
-
getBaseURL
public java.net.URL getBaseURL()
-
getInputParsingMode
public WstxInputProperties.ParsingMode getInputParsingMode()
-
inputParsingModeDocuments
public boolean inputParsingModeDocuments()
-
inputParsingModeFragment
public boolean inputParsingModeFragment()
-
isXml11
public boolean isXml11()
- 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.
-
getDTDEventListener
public DTDEventListener getDTDEventListener()
-
getDTDOverride
public org.codehaus.stax2.validation.DTDValidationSchema getDTDOverride()
-
hasInternNamesBeenEnabled
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)
-
hasInternNsURIsBeenEnabled
public boolean hasInternNsURIsBeenEnabled()
-
setConfigFlag
public void setConfigFlag(int flag)
-
clearConfigFlag
public void clearConfigFlag(int flag)
-
doCoalesceText
public void doCoalesceText(boolean state)
-
doSupportNamespaces
public void doSupportNamespaces(boolean state)
-
doReplaceEntityRefs
public void doReplaceEntityRefs(boolean state)
-
doSupportExternalEntities
public void doSupportExternalEntities(boolean state)
-
doSupportDTDs
public void doSupportDTDs(boolean state)
-
doValidateWithDTD
public void doValidateWithDTD(boolean state)
-
doProcessSecurely
public void doProcessSecurely(boolean value)
Method called when {code XMLConstants.FEATURE_SECURE_PROCESSING} is being enabled or disabled.Note that disabling (passing {code false} as argument) does not actually change any settings.
Calls made when
true
is passed (that is, secure processing enabled):doSupportExternalEntities(false)
- Since:
- 5.3
-
doInternNames
public void doInternNames(boolean state)
-
doInternNsURIs
public void doInternNsURIs(boolean state)
-
doReportPrologWhitespace
public void doReportPrologWhitespace(boolean state)
-
doReportCData
public void doReportCData(boolean state)
-
doCacheDTDs
public void doCacheDTDs(boolean state)
-
doCacheDTDsByPublicId
public void doCacheDTDsByPublicId(boolean state)
-
doParseLazily
public void doParseLazily(boolean state)
-
doXmlIdTyping
public void doXmlIdTyping(boolean state)
-
doXmlIdUniqChecks
public void doXmlIdUniqChecks(boolean state)
-
doPreserveLocation
public void doPreserveLocation(boolean state)
-
doAutoCloseInput
public void doAutoCloseInput(boolean state)
-
doSupportDTDPP
public void doSupportDTDPP(boolean state)
-
doTreatCharRefsAsEnts
public void doTreatCharRefsAsEnts(boolean state)
-
doAllowXml11EscapedCharsInXml10
public void doAllowXml11EscapedCharsInXml10(boolean state)
-
doNormalizeLFs
public void doNormalizeLFs(boolean state)
-
setInputBufferLength
public void setInputBufferLength(int value)
-
setShortestReportedTextSegment
public void setShortestReportedTextSegment(int value)
-
setMaxAttributesPerElement
public void setMaxAttributesPerElement(int value)
-
setMaxAttributeSize
public void setMaxAttributeSize(int value)
-
setMaxChildrenPerElement
public void setMaxChildrenPerElement(int value)
-
setMaxElementDepth
public void setMaxElementDepth(int value)
-
setMaxElementCount
public void setMaxElementCount(long value)
-
setMaxCharacters
public void setMaxCharacters(long value)
-
setMaxTextLength
public void setMaxTextLength(int value)
-
setMaxEntityDepth
public void setMaxEntityDepth(int value)
-
setMaxEntityCount
public void setMaxEntityCount(long value)
-
setCustomInternalEntities
public void setCustomInternalEntities(java.util.Map<java.lang.String,?> m)
-
setXMLReporter
public void setXMLReporter(javax.xml.stream.XMLReporter r)
-
setXMLResolver
public void setXMLResolver(javax.xml.stream.XMLResolver r)
Note: for better granularity, you should callsetEntityResolver(javax.xml.stream.XMLResolver)
andsetDtdResolver(javax.xml.stream.XMLResolver)
instead.
-
setDtdResolver
public void setDtdResolver(javax.xml.stream.XMLResolver r)
-
setEntityResolver
public void setEntityResolver(javax.xml.stream.XMLResolver r)
-
setUndeclaredEntityResolver
public void setUndeclaredEntityResolver(javax.xml.stream.XMLResolver r)
-
setBaseURL
public void setBaseURL(java.net.URL baseURL)
-
setInputParsingMode
public void setInputParsingMode(WstxInputProperties.ParsingMode mode)
-
enableXml11
public void enableXml11(boolean state)
Method called to enable or disable 1.1 compliant processing; if disabled, defaults to xml 1.0 compliant processing.
-
setDTDEventListener
public void setDTDEventListener(DTDEventListener l)
-
setDTDOverride
public void setDTDOverride(org.codehaus.stax2.validation.DTDValidationSchema schema)
-
configureForXmlConformance
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). SeeXMLInputFactory2.configureForXmlConformance()
for required settings for standard StAX/StAX properties.In addition to the standard settings, following Woodstox-specific settings are also done:
- None
Notes: Does NOT change 'performance' settings (buffer sizes, DTD caching, coalescing, interning, accurate location info).
-
configureForConvenience
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. This may incur some slight performance penalties, but should not affect XML conformance. SeeXMLInputFactory2.configureForConvenience()
for required settings for standard StAX/StAX properties.In addition to the standard settings, following Woodstox-specific settings are also done:
- Disable
XMLStreamFactory2.P_LAZY_PARSING
(to allow for synchronous error notification by forcing full XML events to be completely parsed when reader'snext()
is called)
- Disable
-
configureForSpeed
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. SeeXMLInputFactory2.configureForSpeed()
for required settings for standard StAX/StAX properties.In addition to the standard settings, following Woodstox-specific settings are also done:
- Enable
P_CACHE_DTDS
. - Enable
XMLStremaFactory2.P_LAZY_PARSING
(can improve performance especially when skipping text segments) - Disable Xml:id uniqueness checks (and leave typing as is)
- Set lowish value for
P_MIN_TEXT_SEGMENT
, to allow reader to optimize segment length it uses (and possibly avoids one copy operation in the process) - Increase
P_INPUT_BUFFER_LENGTH
a bit from default, to allow for longer consequtive read operations; also reduces cases where partial text segments are on input buffer boundaries.
- Enable
-
configureForLowMemUsage
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. This generally incurs some performance penalties, due to using smaller input buffers.See
XMLInputFactory2.configureForLowMemUsage()
for required settings for standard StAX/StAX properties.In addition to the standard settings, following Woodstox-specific settings are also done:
- Disable
P_CACHE_DTDS
- Enable
P_PARSE_LAZILY
- Resets
P_MIN_TEXT_SEGMENT
to the (somewhat low) default value. - Reduces
P_INPUT_BUFFER_LENGTH
a bit from the default
- Disable
-
configureForRoundTripping
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.See
XMLInputFactory2.configureForLowMemUsage()
for required settings for standard StAX/StAX properties.In addition to the standard settings, following Woodstox-specific settings are also done:
- Increases
P_MIN_TEXT_SEGMENT
to the maximum value so that all original text segment chunks are reported without segmentation (but without coalescing with adjacent CDATA segments) - Sets
P_TREAT_CHAR_REFS_AS_ENTS
to true, so the all the original character references are reported with their position, original text, and the replacement text.
- Increases
-
allocSmallCBuffer
public char[] allocSmallCBuffer(int minSize)
-
freeSmallCBuffer
public void freeSmallCBuffer(char[] buffer)
-
allocMediumCBuffer
public char[] allocMediumCBuffer(int minSize)
-
freeMediumCBuffer
public void freeMediumCBuffer(char[] buffer)
-
allocFullCBuffer
public char[] allocFullCBuffer(int minSize)
-
freeFullCBuffer
public void freeFullCBuffer(char[] buffer)
-
allocFullBBuffer
public byte[] allocFullBBuffer(int minSize)
-
freeFullBBuffer
public void freeFullBBuffer(byte[] buffer)
-
createRecycler
private BufferRecycler createRecycler()
-
setConfigFlag
private void setConfigFlag(int flag, boolean state)
-
getProperty
public java.lang.Object getProperty(int id)
- Specified by:
getProperty
in classCommonConfig
-
setProperty
public boolean setProperty(java.lang.String propName, int id, java.lang.Object value)
- Specified by:
setProperty
in classCommonConfig
-
_hasConfigFlag
protected boolean _hasConfigFlag(int flag)
-
_hasExplicitConfigFlag
protected boolean _hasExplicitConfigFlag(int flag)
Method similar to_hasConfigFlag(int)
, 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)
-
_getSpecialProperty
private final java.lang.Object _getSpecialProperty(int ix)
-
_setSpecialProperty
private final void _setSpecialProperty(int ix, java.lang.Object value)
-
-