1 4 package com.coldcore.coloradoftp.filter.impl; 5 6 import com.coldcore.coloradoftp.factory.ObjectFactory; 7 import com.coldcore.coloradoftp.filter.DataFilter; 8 import com.coldcore.coloradoftp.filter.DataFilterFactory; 9 10 import java.util.HashMap ; 11 import java.util.HashSet ; 12 import java.util.Map ; 13 import java.util.Set ; 14 15 public class GenericDataFilterFactory implements DataFilterFactory { 16 17 private Map <String ,String > map; 18 19 20 public GenericDataFilterFactory(Map <String ,String > filtersRef) { 21 map = new HashMap <String ,String >(filtersRef); 22 } 23 24 25 public Set <String > listNames() { 26 return new HashSet <String >(map.keySet()); 27 } 28 29 30 public DataFilter create(String name) { 31 if (!map.containsKey(name)) 32 throw new IllegalArgumentException ("Filter "+name+" cannot be loaded"); 33 34 String ref = map.get(name); 35 if (ref == null || ref.length() == 0) return null; 37 DataFilter filter = (DataFilter) ObjectFactory.getObject(ref); 38 filter.setName(name); 39 return filter; 40 } 41 } 42 | Popular Tags |