org.xmlpull.mxp1
Class MXParserCachingStrings

java.lang.Object
  extended byorg.xmlpull.mxp1.MXParser
      extended byorg.xmlpull.mxp1.MXParserCachingStrings
All Implemented Interfaces:
java.lang.Cloneable, XmlPullParser
Direct Known Subclasses:
MXParserNonValidating

public class MXParserCachingStrings
extends MXParser
implements java.lang.Cloneable

Extend MXP parser to use string cache of char[] to interned String

NOTE: it is not non-validaint parser as there is no supporting internal DTD parsing no full XML 1.0 (or 1.1) character classes are supported.

Author:
Aleksander Slominski

Field Summary
protected static int CACHE_LOAD
          NOTE: implemented as integers and not flot to allow to work on J2ME.
protected static boolean CACHE_STATISTICS
           
protected  int cacheEntriesCount
           
protected  int cacheEntriesThreshold
           
protected  int cacheStatCalls
           
protected  int cacheStatRehash
           
protected  int cacheStatResets
           
protected  int cacheStatWalks
           
protected static int INITIAL_CAPACITY
           
protected  char[][] keys
           
protected static boolean TRACE_SIZING
           
protected  java.lang.String[] values
           
 
Fields inherited from class org.xmlpull.mxp1.MXParser
allStringsInterned, attributeCount, attributeName, attributeNameHash, attributePrefix, attributeUri, attributeValue, buf, bufAbsoluteStart, bufEnd, bufLoadFactor, bufSoftLimit, bufStart, charRefOneCharBuf, columnNumber, depth, elName, elNamespaceCount, elPrefix, elRawName, elRawNameEnd, elRawNameLine, elUri, emptyElementTag, entityEnd, entityName, entityNameBuf, entityNameHash, entityRefName, entityReplacement, entityReplacementBuf, eventType, FEATURE_NAMES_INTERNED, FEATURE_XML_ROUNDTRIP, inputEncoding, lineNumber, location, LOOKUP_MAX, LOOKUP_MAX_CHAR, lookupNameChar, lookupNameStartChar, namespaceEnd, namespacePrefix, namespacePrefixHash, namespaceUri, NCODING, NO, pastEndTag, pc, pcEnd, pcStart, pos, posEnd, posStart, preventBufferCompaction, processNamespaces, PROPERTY_LOCATION, PROPERTY_XMLDECL_CONTENT, PROPERTY_XMLDECL_STANDALONE, PROPERTY_XMLDECL_VERSION, reachedEnd, READ_CHUNK_SIZE, reader, roundtripSupported, seenAmpersand, seenDocdecl, seenEndTag, seenMarkup, seenRoot, seenStartTag, TANDALONE, text, tokenize, usePC, VERSION, XML_URI, xmlDeclContent, xmlDeclStandalone, xmlDeclVersion, XMLNS_URI, YES
 
Fields inherited from interface org.xmlpull.v1.XmlPullParser
CDSECT, COMMENT, DOCDECL, END_DOCUMENT, END_TAG, ENTITY_REF, FEATURE_PROCESS_DOCDECL, FEATURE_PROCESS_NAMESPACES, FEATURE_REPORT_NAMESPACE_ATTRIBUTES, FEATURE_VALIDATION, IGNORABLE_WHITESPACE, NO_NAMESPACE, PROCESSING_INSTRUCTION, START_DOCUMENT, START_TAG, TEXT, TYPES
 
Constructor Summary
MXParserCachingStrings()
           
 
Method Summary
 java.lang.Object clone()
           
 void finalize()
          Hook to GC finalization to print statistics about pool cache impl.
 boolean getFeature(java.lang.String name)
          Unknown properties are always returned as false
protected  void initStringCache()
           
protected  java.lang.String newString(char[] cbuf, int off, int len)
          If feature name interning is enabled then this funtion MUST return interned string.
protected  java.lang.String newStringIntern(char[] cbuf, int off, int len)
          This is efficient implementation of pool that returns interned String based on char[] input.
protected  void resetStringCache()
           
 void setFeature(java.lang.String name, boolean state)
          This allows to change name iterning property in this enhanced impl.
 
Methods inherited from class org.xmlpull.mxp1.MXParser
defineEntityReplacementText, ensureAttributesCapacity, ensureElementsCapacity, ensureEntityCapacity, ensureNamespacesCapacity, ensurePC, fastHash, fillBuf, getAttributeCount, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getColumnNumber, getDepth, getEventType, getInputEncoding, getLineNumber, getName, getNamespace, getNamespace, getNamespaceCount, getNamespacePrefix, getNamespaceUri, getPositionDescription, getPrefix, getProperty, getText, getTextCharacters, isAttributeDefault, isEmptyElementTag, isNameChar, isNameStartChar, isS, isWhitespace, joinPC, lookuEntityReplacement, more, next, nextImpl, nextTag, nextText, nextToken, parseAttribute, parseCDSect, parseComment, parseDocdecl, parseEndTag, parseEntityRef, parseEpilog, parsePI, parseProlog, parseStartTag, parseXmlDecl, parseXmlDeclWithVersion, printable, printable, require, requireInput, requireNextS, reset, setInput, setInput, setProperty, skipS, skipSubTree
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CACHE_STATISTICS

protected static final boolean CACHE_STATISTICS
See Also:
Constant Field Values

TRACE_SIZING

protected static final boolean TRACE_SIZING
See Also:
Constant Field Values

INITIAL_CAPACITY

protected static final int INITIAL_CAPACITY
See Also:
Constant Field Values

cacheStatCalls

protected int cacheStatCalls

cacheStatWalks

protected int cacheStatWalks

cacheStatResets

protected int cacheStatResets

cacheStatRehash

protected int cacheStatRehash

CACHE_LOAD

protected static final int CACHE_LOAD
NOTE: implemented as integers and not flot to allow to work on J2ME.

See Also:
Constant Field Values

cacheEntriesCount

protected int cacheEntriesCount

cacheEntriesThreshold

protected int cacheEntriesThreshold

keys

protected char[][] keys

values

protected java.lang.String[] values
Constructor Detail

MXParserCachingStrings

public MXParserCachingStrings()
Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

setFeature

public void setFeature(java.lang.String name,
                       boolean state)
                throws XmlPullParserException
This allows to change name iterning property in this enhanced impl.

Specified by:
setFeature in interface XmlPullParser
Overrides:
setFeature in class MXParser
Parameters:
name - a String
state - a boolean
Throws:
XmlPullParserException

getFeature

public boolean getFeature(java.lang.String name)
Description copied from class: MXParser
Unknown properties are always returned as false

Specified by:
getFeature in interface XmlPullParser
Overrides:
getFeature in class MXParser

finalize

public void finalize()
Hook to GC finalization to print statistics about pool cache impl. perf.


newString

protected java.lang.String newString(char[] cbuf,
                                     int off,
                                     int len)
If feature name interning is enabled then this funtion MUST return interned string.

Overrides:
newString in class MXParser

newStringIntern

protected java.lang.String newStringIntern(char[] cbuf,
                                           int off,
                                           int len)
This is efficient implementation of pool that returns interned String based on char[] input.

Overrides:
newStringIntern in class MXParser

initStringCache

protected void initStringCache()

resetStringCache

protected void resetStringCache()
Overrides:
resetStringCache in class MXParser


Copyright (c) 2004 IU Extreme! Lab http://www.extreme.indiana.edu/ All Rights Reserved.