|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.pentaho.di.core.xml.XMLHandlerCache
public class XMLHandlerCache
Singleton to help speed up lookups in an XML DOM tree.
The theory is that you often loop over occurrences of a certain tag in a Node.
If there are 20 occurrences, you go from index 0..19.
Every time we do the following
- found node 0
- found node 0, 1
- found node 0, 1, 2
- ...
So the time to search node index 19 is 20 times larger on average then index 0.
We can solve this by caching the position of index 18 and by starting back at that position.
This class is a singleton to keep everyting 100% compatible with the rest of the codebase.
Field Summary | |
---|---|
static int |
MAX_NUMBER_OF_ENTRIES
|
Method Summary | |
---|---|
void |
clear()
Clears the cache |
int |
getCacheHits()
|
static XMLHandlerCache |
getInstance()
|
int |
getLastChildNr(XMLHandlerCacheEntry entry)
Retrieve the last child were we left off... |
void |
setCacheHits(int cacheHits)
Allows you to (re-)set the number of cache hits |
void |
storeCache(XMLHandlerCacheEntry entry,
int lastChildNr)
Store a cache entry |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int MAX_NUMBER_OF_ENTRIES
Method Detail |
---|
public static final XMLHandlerCache getInstance()
public void storeCache(XMLHandlerCacheEntry entry, int lastChildNr)
entry
- The cache entry to storepublic int getLastChildNr(XMLHandlerCacheEntry entry)
entry
- The cache entry to look for.
public int getCacheHits()
public void setCacheHits(int cacheHits)
cacheHits
- the number of cache hits.public void clear()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |