package com.browseengine.bobo.facets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* The 'generic' type for FacetHandler initialization parameters for the purpose of easy serialization.
* When this type is used, it is completely up to the program logic of the utilizing RuntimeFacetHandler
* and its client code to find the data at the right place.
* @author ymatsuda
*
*/
public class DefaultFacetHandlerInitializerParam extends FacetHandlerInitializerParam {
/**
*
*/
private static final long serialVersionUID = 1L;
private final Map<String, boolean[]> _boolMap;
private final Map<String, int[]> _intMap;
private final Map<String, long[]> _longMap;
private final Map<String, List<String>> _stringMap;
private final Map<String, byte[]> _byteMap;
private final Map<String, double[]> _doubleMap;
public DefaultFacetHandlerInitializerParam() {
_boolMap = new HashMap<String, boolean[]>();
_intMap = new HashMap<String, int[]>();
_longMap = new HashMap<String, long[]>();
_stringMap = new HashMap<String, List<String>>();
_byteMap = new HashMap<String, byte[]>();
_doubleMap = new HashMap<String, double[]>();
}
public Set<String> getBooleanParamNames() {
return _boolMap.keySet();
}
public Set<String> getStringParamNames() {
return _stringMap.keySet();
}
public Set<String> getIntParamNames() {
return _intMap.keySet();
}
public Set<String> getByteArrayParamNames() {
return _byteMap.keySet();
}
public Set<String> getLongParamNames() {
return _longMap.keySet();
}
public Set<String> getDoubleParamNames() {
return _doubleMap.keySet();
}
public DefaultFacetHandlerInitializerParam putBooleanParam(String key, boolean[] value) {
_boolMap.put(key, value);
return this;
}
public boolean[] getBooleanParam(String name) {
return _boolMap.get(name);
}
public DefaultFacetHandlerInitializerParam putByteArrayParam(String key, byte[] value) {
_byteMap.put(key, value);
return this;
}
public byte[] getByteArrayParam(String name) {
return _byteMap.get(name);
}
public DefaultFacetHandlerInitializerParam putIntParam(String key, int[] value) {
_intMap.put(key, value);
return this;
}
public int[] getIntParam(String name) {
return _intMap.get(name);
}
public DefaultFacetHandlerInitializerParam putLongParam(String key, long[] value) {
_longMap.put(key, value);
return this;
}
public long[] getLongParam(String name) {
return _longMap.get(name);
}
public DefaultFacetHandlerInitializerParam putStringParam(String key, List<String> value) {
_stringMap.put(key, value);
return this;
}
public List<String> getStringParam(String name) {
return _stringMap.get(name);
}
public DefaultFacetHandlerInitializerParam putDoubleParam(String key, double[] value) {
_doubleMap.put(key, value);
return this;
}
public double[] getDoubleParam(String name) {
return _doubleMap.get(name);
}
public void clear() {
_boolMap.clear();
_intMap.clear();
_longMap.clear();
_stringMap.clear();
_byteMap.clear();
}
}