This folder gathers the following kinds of modules:
- Dictionary data
- Dictionary codecs
- Dictionary plugins
- Dictionary tools
These modules provide the dictionary entries.
They are named using the following scheme: croiseur-dictionary-<dictionary_or_format_name>-data
.
Example: croiseur-dictionary-xml-data
.
Only textual representation should be committed under version control. (If binary formats were to be supported in the future, they would have to be generated from a textual representation and generated binary would have to be excluded from version control.)
These modules are standalone libraries providing encoding/decoding functions for a peculiar dictionary format.
They are named using the following scheme:
croiseur-dictionary-<dictionary_or_format_name>-codec
.
Example: croiseur-dictionary-xml-codec
.
These modules are libraries implementing the croiseur
dictionary provider interfaces defined
in croiseur-dictionary-spi
and thus usable by
the croiseur
library.
They are named using the following scheme:
croiseur-dictionary-provider-<dictionary_or_format_name>-plugin
.
Example: croiseur-dictionary-xml-plugin
.
Typically, these modules:
- Retrieve the dictionary data - location information may be hard-coded, read from
configuration or system property like
re.belv.croiseur.dictionary.path
; - Decode these data using codecs;
- Expose the decoded data via the
croiseur-spi-dictionary
interface.
These are tools to manipulate dictionaries.
They are grouped in the single croiseur-dictionary-tools
module.