Package net.didion.jwnl.dictionary
Class FileBackedDictionary
- java.lang.Object
-
- net.didion.jwnl.dictionary.Dictionary
-
- net.didion.jwnl.dictionary.AbstractCachingDictionary
-
- net.didion.jwnl.dictionary.FileBackedDictionary
-
- All Implemented Interfaces:
Installable
public class FileBackedDictionary extends AbstractCachingDictionary
ADictionary
that retrieves objects from the text files in the WordNet distribution directory.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
FileBackedDictionary.FileLookaheadIterator
A lookahead iterator over a dictionary file.private class
FileBackedDictionary.IndexFileLookaheadIterator
private class
FileBackedDictionary.SubstringIndexFileLookaheadIterator
-
Field Summary
Fields Modifier and Type Field Description private FileManager
_db
private FileDictionaryElementFactory
_factory
private static MessageLog
_log
static java.lang.String
CACHE_SIZE
The default cache size.static java.lang.String
DICTIONARY_ELEMENT_FACTORY
The class of FileDictionaryElementFactory to use.static java.lang.String
ENABLE_CACHING
The value should be "true" or "false".static java.lang.String
EXCEPTION_WORD_CACHE_SIZE
Size of the exception cache.static java.lang.String
FILE_MANAGER
File manager install parameter.static java.lang.String
INDEX_WORD_CACHE_SIZE
Size of the index word cache.static java.lang.String
MORPH
Morphological processor class install parameter.private java.util.Map
senseMap
A sense map, key is offsetlemma, word is populated with lemma, usage, and sense key.static java.lang.String
SYNSET_WORD_CACHE_SIZE
Size of the synset cache.
-
Constructor Summary
Constructors Modifier Constructor Description FileBackedDictionary()
private
FileBackedDictionary(FileManager manager, MorphologicalProcessor morph, FileDictionaryElementFactory factory, boolean enableCaching)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Shut down the dictionaryFileDictionaryElementFactory
getDictionaryElementFactory()
Exc
getException(POS pos, java.lang.String derivation)
Lookupderivation
in the exceptions file of part-of-speechpos
and return an Exc object containing the results.java.util.Iterator
getExceptionIterator(POS pos)
Return an Iterator over all the Exceptions in the database.protected FileManager
getFileManager()
Get the file manager that backs this database.IndexWord
getIndexWord(POS pos, java.lang.String lemma)
Look up a word in the database.java.util.Iterator
getIndexWordIterator(POS pos)
Return an Iterator over all the IndexWords of part-of-speech pos in the database.java.util.Iterator
getIndexWordIterator(POS pos, java.lang.String substring)
Return an Iterator over all the IndexWords of part-of-speech pos whose lemmas contain substring as a substring.IndexWord
getRandomIndexWord(POS pos)
private Synset
getSynset(POS pos, long offset, java.lang.String line)
Synset
getSynsetAt(POS pos, long offset)
Return theSynset
at offsetoffset
from the database.java.util.Iterator
getSynsetIterator(POS pos)
Return an Iterator over all the Synsets of part-of-speech pos in the database.void
install(java.util.Map params)
Install a FileBackedDictionary from a map of parameters.static void
install(FileManager fileManager, FileDictionaryElementFactory factory)
Construct a Dictionary that retrieves file data fromfileManager
.static void
install(FileManager fileManager, FileDictionaryElementFactory factory, boolean enableCaching)
static void
install(FileManager fileManager, MorphologicalProcessor morph, FileDictionaryElementFactory factory)
Construct a Dictionary that retrieves file data fromfileManager
.static void
install(FileManager fileManager, MorphologicalProcessor morph, FileDictionaryElementFactory factory, boolean enableCaching)
private Exc
parseAndCacheExceptionLine(POS pos, long offset, java.lang.String line)
private IndexWord
parseAndCacheIndexWordLine(POS pos, long offset, java.lang.String line)
-
Methods inherited from class net.didion.jwnl.dictionary.AbstractCachingDictionary
cacheException, cacheIndexWord, cacheSynset, clearCache, clearCache, getCacheCapacity, getCachedException, getCachedIndexWord, getCachedSynset, getCacheSizes, isCachingEnabled, setCacheCapacity, setCacheCapacity, setCachingEnabled
-
Methods inherited from class net.didion.jwnl.dictionary.Dictionary
getInstance, getMorphologicalProcessor, lookupAllIndexWords, lookupIndexWord, prepareQueryString, setDictionary, uninstall
-
-
-
-
Field Detail
-
_log
private static final MessageLog _log
-
MORPH
public static final java.lang.String MORPH
Morphological processor class install parameter. The value should be the class of MorphologicalProcessor to use.- See Also:
- Constant Field Values
-
FILE_MANAGER
public static final java.lang.String FILE_MANAGER
File manager install parameter. The value should be the class of FileManager to use.- See Also:
- Constant Field Values
-
DICTIONARY_ELEMENT_FACTORY
public static final java.lang.String DICTIONARY_ELEMENT_FACTORY
The class of FileDictionaryElementFactory to use.- See Also:
- Constant Field Values
-
ENABLE_CACHING
public static final java.lang.String ENABLE_CACHING
The value should be "true" or "false". The default is "true".- See Also:
- Constant Field Values
-
CACHE_SIZE
public static final java.lang.String CACHE_SIZE
The default cache size.- See Also:
- Constant Field Values
-
INDEX_WORD_CACHE_SIZE
public static final java.lang.String INDEX_WORD_CACHE_SIZE
Size of the index word cache. Overrides the default cache size- See Also:
- Constant Field Values
-
SYNSET_WORD_CACHE_SIZE
public static final java.lang.String SYNSET_WORD_CACHE_SIZE
Size of the synset cache. Overrides the default cache size- See Also:
- Constant Field Values
-
EXCEPTION_WORD_CACHE_SIZE
public static final java.lang.String EXCEPTION_WORD_CACHE_SIZE
Size of the exception cache. Overrides the default cache size- See Also:
- Constant Field Values
-
senseMap
private java.util.Map senseMap
A sense map, key is offsetlemma, word is populated with lemma, usage, and sense key.
-
_db
private FileManager _db
-
_factory
private FileDictionaryElementFactory _factory
-
-
Constructor Detail
-
FileBackedDictionary
public FileBackedDictionary()
-
FileBackedDictionary
private FileBackedDictionary(FileManager manager, MorphologicalProcessor morph, FileDictionaryElementFactory factory, boolean enableCaching)
-
-
Method Detail
-
install
public static void install(FileManager fileManager, FileDictionaryElementFactory factory)
Construct a Dictionary that retrieves file data fromfileManager
. A client can use this to create a Dictionary backed by a RemoteFileManager.- See Also:
RemoteFileManager
-
install
public static void install(FileManager fileManager, MorphologicalProcessor morph, FileDictionaryElementFactory factory)
Construct a Dictionary that retrieves file data fromfileManager
. If enableCaching is true, lookup operations will check the relavant cache before doing a lookup and will cache their results after doing a lookup.
-
install
public static void install(FileManager fileManager, FileDictionaryElementFactory factory, boolean enableCaching)
-
install
public static void install(FileManager fileManager, MorphologicalProcessor morph, FileDictionaryElementFactory factory, boolean enableCaching)
-
install
public void install(java.util.Map params) throws JWNLException
Install a FileBackedDictionary from a map of parameters. The keys are chose from the static variables above.- Throws:
JWNLException
-
close
public void close()
Description copied from class:Dictionary
Shut down the dictionary- Specified by:
close
in classDictionary
-
getFileManager
protected FileManager getFileManager()
Get the file manager that backs this database.
-
getDictionaryElementFactory
public FileDictionaryElementFactory getDictionaryElementFactory()
-
getIndexWordIterator
public java.util.Iterator getIndexWordIterator(POS pos) throws JWNLException
Description copied from class:Dictionary
Return an Iterator over all the IndexWords of part-of-speech pos in the database.- Specified by:
getIndexWordIterator
in classDictionary
- Parameters:
pos
- The part-of-speech- Returns:
- An iterator over
IndexWord
s - Throws:
JWNLException
-
getIndexWordIterator
public java.util.Iterator getIndexWordIterator(POS pos, java.lang.String substring) throws JWNLException
Description copied from class:Dictionary
Return an Iterator over all the IndexWords of part-of-speech pos whose lemmas contain substring as a substring.- Specified by:
getIndexWordIterator
in classDictionary
- Parameters:
pos
- The part-of-speech.- Returns:
- An iterator over
IndexWord
s. - Throws:
JWNLException
-
getIndexWord
public IndexWord getIndexWord(POS pos, java.lang.String lemma) throws JWNLException
Description copied from class:Dictionary
Look up a word in the database. The search is case-independent, and phrases are separated by spaces ("look up", not "look_up"). Note: this method does not subject lemma to any morphological processing. If you want this, useDictionary.lookupIndexWord(POS, String)
.- Specified by:
getIndexWord
in classDictionary
- Parameters:
pos
- The part-of-speech.lemma
- The orthographic representation of the word.- Returns:
- An IndexWord representing the word, or
null
if no such entry exists. - Throws:
JWNLException
-
getRandomIndexWord
public IndexWord getRandomIndexWord(POS pos) throws JWNLException
- Specified by:
getRandomIndexWord
in classDictionary
- Throws:
JWNLException
-
parseAndCacheIndexWordLine
private IndexWord parseAndCacheIndexWordLine(POS pos, long offset, java.lang.String line)
-
getSynsetIterator
public java.util.Iterator getSynsetIterator(POS pos)
Description copied from class:Dictionary
Return an Iterator over all the Synsets of part-of-speech pos in the database.- Specified by:
getSynsetIterator
in classDictionary
- Parameters:
pos
- The part-of-speech.- Returns:
- An iterator over
Synset
s.
-
getSynsetAt
public Synset getSynsetAt(POS pos, long offset) throws JWNLException
Description copied from class:Dictionary
Return theSynset
at offsetoffset
from the database.- Specified by:
getSynsetAt
in classDictionary
- Parameters:
pos
- The part-of-speech file to look inoffset
- The offset of the synset in the file- Returns:
- A synset containing the parsed line from the database
- Throws:
JWNLException
-
getSynset
private Synset getSynset(POS pos, long offset, java.lang.String line) throws JWNLException
- Throws:
JWNLException
-
getExceptionIterator
public java.util.Iterator getExceptionIterator(POS pos)
Description copied from class:Dictionary
Return an Iterator over all the Exceptions in the database.- Specified by:
getExceptionIterator
in classDictionary
- Parameters:
pos
- the part-of-speech- Returns:
- Iterator An iterator over
String
s
-
getException
public Exc getException(POS pos, java.lang.String derivation) throws JWNLException
Description copied from class:Dictionary
Lookupderivation
in the exceptions file of part-of-speechpos
and return an Exc object containing the results.- Specified by:
getException
in classDictionary
- Parameters:
pos
- the exception file to look inderivation
- the word to look up- Returns:
- Exc the Exc object
- Throws:
JWNLException
-
-