1 package jp.naist.se.stigmata.result;
\r
3 import java.lang.reflect.Constructor;
\r
4 import java.lang.reflect.InvocationTargetException;
\r
5 import java.util.HashMap;
\r
6 import java.util.Map;
\r
8 import jp.naist.se.stigmata.BirthmarkContext;
\r
9 import jp.naist.se.stigmata.BirthmarkStoreTarget;
\r
10 import jp.naist.se.stigmata.ExtractionResultSet;
\r
12 public class ExtractionResultSetFactory{
\r
13 private static ExtractionResultSetFactory instance = new ExtractionResultSetFactory();
\r
14 private Map<String, Class<? extends ExtractionResultSet>> map = new HashMap<String, Class<? extends ExtractionResultSet>>();
\r
16 private ExtractionResultSetFactory(){
\r
17 map.put(BirthmarkStoreTarget.MEMORY.name(), MemoryExtractionResultSet.class);
\r
20 public static ExtractionResultSetFactory getInstance(){
\r
24 public ExtractionResultSet createResultSet(BirthmarkContext context){
\r
25 return createResultSet(context.getStoreTarget(), context);
\r
28 public ExtractionResultSet createResultSet(BirthmarkStoreTarget store, BirthmarkContext context){
\r
30 Class<? extends ExtractionResultSet> clazz = map.get(store.name());
\r
31 Constructor<? extends ExtractionResultSet> constructor = clazz.getConstructor(BirthmarkContext.class);
\r
32 return constructor.newInstance(context);
\r
34 }catch(NoSuchMethodException e){
\r
35 }catch(IllegalArgumentException e){
\r
36 }catch(InstantiationException e){
\r
37 }catch(IllegalAccessException e){
\r
38 }catch(InvocationTargetException e){
\r