net.sf.eos.trie
Class XmlTrieLoader

java.lang.Object
  extended by net.sf.eos.trie.AbstractTrieLoader<CharSequence,Set<CharSequence>>
      extended by net.sf.eos.trie.XmlTrieLoader
All Implemented Interfaces:
TrieLoader<CharSequence,Set<CharSequence>>

public class XmlTrieLoader
extends AbstractTrieLoader<CharSequence,Set<CharSequence>>

The builder creates a trie from a simple XML file. The file must be like the following DTD:

 <!ELEMENT trie  (entry*)     >
 <!ELEMENT entry (key, value) >
 <!ELEMENT key   (#PCDATA)    >
 <!ELEMENT value (#PCDATA)    >

The builder doesn't validate validates the XML structure.

If a key is twice in the XML structure the builder adds it to the value Collection.

Author:
Sascha Kohlmann

Field Summary
 
Fields inherited from class net.sf.eos.trie.AbstractTrieLoader
TRIE_LOADER_IMPL_CONFIG_NAME
 
Constructor Summary
XmlTrieLoader()
           
 
Method Summary
 TextBuilder getTextBuilder()
          Returns a setted builder.
 ResettableTokenizer getTokenizer()
           
 void loadTrie(InputStream trieData, Trie<CharSequence,Set<CharSequence>> trie)
          Creates a Trie from the InputStream.
protected  CharSequence rebuildValue(CharSequence value)
          Rebuilds a sequence of chars if the loader has a setted setTokenizer(ResettableTokenizer) and a setted setTextBuilder(TextBuilder).
 void setTextBuilder(TextBuilder builder)
          Sets a builder.
 void setTokenizer(ResettableTokenizer tokenizer)
           
 
Methods inherited from class net.sf.eos.trie.AbstractTrieLoader
newInstance, newInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XmlTrieLoader

public XmlTrieLoader()
Method Detail

loadTrie

public void loadTrie(InputStream trieData,
                     Trie<CharSequence,Set<CharSequence>> trie)
              throws Exception
Creates a Trie from the InputStream.

Specified by:
loadTrie in interface TrieLoader<CharSequence,Set<CharSequence>>
Specified by:
loadTrie in class AbstractTrieLoader<CharSequence,Set<CharSequence>>
Parameters:
trieData - stream pointing to the trie structure data.
trie - the trie to fill with the trieData
Throws:
Exception - if the builder is unable to create the trie.

getTokenizer

public ResettableTokenizer getTokenizer()
Returns:
the tokenizer

setTokenizer

public void setTokenizer(ResettableTokenizer tokenizer)
Parameters:
tokenizer - the tokenizer to set

setTextBuilder

public void setTextBuilder(TextBuilder builder)
Sets a builder. The implementation has default builder of instance TextBuilder.SPACE_BUILDER setted at construction time.

Parameters:
builder - a builder to set or null.

getTextBuilder

public TextBuilder getTextBuilder()
Returns a setted builder.

Returns:
a setted builder or null.

rebuildValue

protected CharSequence rebuildValue(CharSequence value)
Rebuilds a sequence of chars if the loader has a setted setTokenizer(ResettableTokenizer) and a setted setTextBuilder(TextBuilder).

Parameters:
value - the value to rebuild.
Returns:
a rebuilded character sequence.


Copyright © 2008. All Rights Reserved.