Ejemplo n.º 1
0
// ---------------------------------------------------------------------------
//  RangeTokenMap: Initialization methods
// ---------------------------------------------------------------------------
void RangeTokenMap::initializeRegistry() {

    // Add categories
    fCategories->addOrFind(fgXMLCategory);
    fCategories->addOrFind(fgASCIICategory);
    fCategories->addOrFind(fgUnicodeCategory);
    fCategories->addOrFind(fgBlockCategory);

    // Add xml range factory
    RangeFactory* rangeFact = new XMLRangeFactory();
    fRangeMap->put((void*)fgXMLCategory, rangeFact);
    rangeFact->initializeKeywordMap(this);

    // Add ascii range factory
    rangeFact = new ASCIIRangeFactory();
    fRangeMap->put((void*)fgASCIICategory, rangeFact);
    rangeFact->initializeKeywordMap(this);

    // Add unicode range factory
    rangeFact = new UnicodeRangeFactory();
    fRangeMap->put((void*)fgUnicodeCategory, rangeFact);
    rangeFact->initializeKeywordMap(this);

    // Add block range factory
    rangeFact = new BlockRangeFactory();
    fRangeMap->put((void*)fgBlockCategory, rangeFact);
    rangeFact->initializeKeywordMap(this);
}
Ejemplo n.º 2
0
// ---------------------------------------------------------------------------
//  TokenFactory - Helper methods
// ---------------------------------------------------------------------------
void TokenFactory::initializeRegistry() {

    if (!fRangeInitialized)
    {
        XMLMutexLock lockInit(&gTokenFactoryMutex());

        if (!fRangeInitialized) {

            RangeTokenMap::instance()->initializeRegistry();

            // Add categories
            RangeTokenMap::instance()->addCategory(fgXMLCategory);
            RangeTokenMap::instance()->addCategory(fgASCIICategory);
            RangeTokenMap::instance()->addCategory(fgUnicodeCategory);
            RangeTokenMap::instance()->addCategory(fgBlockCategory);

        	// Add xml range factory
            RangeFactory* rangeFact = new XMLRangeFactory();
            RangeTokenMap::instance()->addRangeMap(fgXMLCategory, rangeFact);
            rangeFact->initializeKeywordMap();

            // Add ascii range factory
            rangeFact = new ASCIIRangeFactory();
            RangeTokenMap::instance()->addRangeMap(fgASCIICategory, rangeFact);
            rangeFact->initializeKeywordMap();

            // Add unicode range factory
            rangeFact = new UnicodeRangeFactory();
            RangeTokenMap::instance()->addRangeMap(fgUnicodeCategory, rangeFact);
            rangeFact->initializeKeywordMap();

            // Add block range factory
            rangeFact = new BlockRangeFactory();
            RangeTokenMap::instance()->addRangeMap(fgBlockCategory, rangeFact);
            rangeFact->initializeKeywordMap();

            fRangeInitialized = true;
        }
    }
}