ddc
|
TxDispatcher: name-based expansion dispatcher. More...
#include <TermExpander.h>
Public Types | |
typedef map< string, CTermExpander * > | TxMap |
typedef for label->expander map More... | |
Public Member Functions | |
TxDispatcher (void) | |
Default constructor. More... | |
TxDispatcher * | clone () const |
clone constructor copies sub-objects More... | |
~TxDispatcher (void) | |
Default destructor: frees all expanders in m_tx. More... | |
void | clear (bool doDelete=true) |
clear all named expanders; also deletes them if doDelete is true (default) More... | |
void | ensureDefaultExpanders (MorphLanguageEnum mlang, MorphLanguageEnum clang, bool doInfl=true, bool doCase=true) |
void | ensureDefaultExpanders (MorphLanguageEnum lang=morphGeneric) |
wrapper for ensureDefaultExpanders(lang,lang) More... | |
CTermExpander * | addExpander (const string &spec) |
void | compile (void) |
compile all defined expanders More... | |
string | configString (const string &prefix="") const |
void | insert (const string &label, CTermExpander *tx) |
insert or override a label->tx mapping (implicitly sets tx->m_Label=label) More... | |
void | insert (CTermExpander *tx) |
insert or override a label->tx mapping; uses tx->m_Label as label More... | |
void | remove (const string &label) |
delete and remove any expander or alias labelled by label More... | |
CTermExpander * | get (const string &label) const |
lookup the expander for label; returns NULL if no such expander exists More... | |
TxChain | getChain (const vector< string > &labels) |
extended lookup for an expansion chain; throws CExpc on unknown label More... | |
TxChain | getChain (const string &spec) |
extended lookup for an expansion chain; splits spec on " \t\r\n|" More... | |
Public Attributes | |
TxMap | m_tx |
maps expander labels to expanders (label keys are case-sensitive!) More... | |
list< string > | m_txlist |
list of defined expander names in definition order (for config-string generation) More... | |
TxDispatcher: name-based expansion dispatcher.
typedef map<string,CTermExpander*> TxDispatcher::TxMap |
typedef for label->expander map
|
inline |
Default constructor.
TxDispatcher::~TxDispatcher | ( | void | ) |
Default destructor: frees all expanders in m_tx.
TxDispatcher * TxDispatcher::clone | ( | ) | const |
void TxDispatcher::clear | ( | bool | doDelete = true | ) |
clear all named expanders; also deletes them if doDelete is true (default)
Referenced by CConcordance::InitDefaultOptions().
void TxDispatcher::ensureDefaultExpanders | ( | MorphLanguageEnum | mlang, |
MorphLanguageEnum | clang, | ||
bool | doInfl = true , |
||
bool | doCase = true |
||
) |
add default expanders for morph language mlang and case language clang
References TxChain::append(), GetStringByLanguage(), morphGeneric, and morphUnknown.
Referenced by CConcordance::LoadOptionsFromString().
|
inline |
wrapper for ensureDefaultExpanders(lang,lang)
References CTermExpander::compile(), CTermExpander::configString(), newTermExpander(), and parseTermExpanderSpec().
CTermExpander * TxDispatcher::addExpander | ( | const string & | spec | ) |
parse a term expander specification from a string spec
References CTermExpander::m_Class, newTermExpander(), parseTermExpanderSpec(), and stringSplit().
Referenced by CConcordance::LoadOptionsFromString().
void TxDispatcher::compile | ( | void | ) |
compile all defined expanders
string TxDispatcher::configString | ( | const string & | prefix = "" | ) | const |
dump dispatcher specifications in a form parseable by parseExpanderSpec() to a string
prefix | if specified gives a string prefix for the dump |
References CTermExpander::configString().
Referenced by CConcordance::SaveOptionsToString().
void TxDispatcher::insert | ( | const string & | label, |
CTermExpander * | tx | ||
) |
insert or override a label->tx mapping (implicitly sets tx->m_Label=label)
References CTermExpander::m_Label.
void TxDispatcher::insert | ( | CTermExpander * | tx | ) |
insert or override a label->tx mapping; uses tx->m_Label as label
References CTermExpander::m_Label.
void TxDispatcher::remove | ( | const string & | label | ) |
delete and remove any expander or alias labelled by label
CTermExpander * TxDispatcher::get | ( | const string & | label | ) | const |
lookup the expander for label; returns NULL if no such expander exists
Referenced by CQTokInfl::GetChain().
TxChain TxDispatcher::getChain | ( | const vector< string > & | labels | ) |
extended lookup for an expansion chain; throws CExpc on unknown label
References TxChain::append(), TxChain::chainString(), errRuntime, TxChain::m_Chain, and CTermExpander::m_Param.
Referenced by CDDCLeafServer::handle__expand_terms().
TxChain TxDispatcher::getChain | ( | const string & | spec | ) |
extended lookup for an expansion chain; splits spec on " \t\r\n|"
References stringSplit().
TxMap TxDispatcher::m_tx |
maps expander labels to expanders (label keys are case-sensitive!)
Referenced by clone(), and CDDCLeafServer::handle__info().
list<string> TxDispatcher::m_txlist |
list of defined expander names in definition order (for config-string generation)
Referenced by clone().