File size: 2,377 Bytes
6f3ebfa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | package org.maltparser.parser;
import org.maltparser.core.feature.AbstractFeatureFactory;
import org.maltparser.core.feature.FeatureRegistry;
import org.maltparser.core.helper.HashMap;
import org.maltparser.core.io.dataformat.DataFormatInstance;
import org.maltparser.core.symbol.SymbolTableHandler;
public class ParserRegistry implements FeatureRegistry {
private AbstractFeatureFactory abstractParserFactory;
private AlgoritmInterface algorithm;
private SymbolTableHandler symbolTableHandler;
private DataFormatInstance dataFormatInstance;
private final HashMap<Class<?>, Object> registry;
public ParserRegistry() {
this.registry = new HashMap<Class<?>, Object>();
}
public Object get(Class<?> key) {
return registry.get(key);
}
public void put(Class<?> key, Object value) {
registry.put(key, value);
if (key == org.maltparser.parser.AbstractParserFactory.class) {
abstractParserFactory = (AbstractParserFactory)value;
} else if (key == org.maltparser.parser.AlgoritmInterface.class) {
algorithm = (AlgoritmInterface)value;
}
}
public AbstractFeatureFactory getFactory(Class<?> clazz) {
return abstractParserFactory;
}
public SymbolTableHandler getSymbolTableHandler() {
return symbolTableHandler;
}
public void setSymbolTableHandler(SymbolTableHandler symbolTableHandler) {
this.symbolTableHandler = symbolTableHandler;
this.registry.put(org.maltparser.core.symbol.SymbolTableHandler.class, symbolTableHandler);
}
public DataFormatInstance getDataFormatInstance() {
return dataFormatInstance;
}
public void setDataFormatInstance(DataFormatInstance dataFormatInstance) {
this.dataFormatInstance = dataFormatInstance;
this.registry.put(org.maltparser.core.io.dataformat.DataFormatInstance.class, dataFormatInstance);
}
public AbstractFeatureFactory getAbstractParserFeatureFactory() {
return abstractParserFactory;
}
public void setAbstractParserFeatureFactory(AbstractParserFactory _abstractParserFactory) {
this.registry.put(org.maltparser.parser.AbstractParserFactory.class, _abstractParserFactory);
this.abstractParserFactory = _abstractParserFactory;
}
public AlgoritmInterface getAlgorithm() {
return algorithm;
}
public void setAlgorithm(AlgoritmInterface algorithm) {
this.registry.put(org.maltparser.parser.AlgoritmInterface.class, algorithm);
this.algorithm = algorithm;
}
}
|