KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > coldcore > coloradoftp > filter > impl > GenericDataFilterFactory


1 /**
2  * @see com.coldcore.coloradoftp.filter.DataFilterFactory
3  */

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 JavaDoc;
11 import java.util.HashSet JavaDoc;
12 import java.util.Map JavaDoc;
13 import java.util.Set JavaDoc;
14
15 public class GenericDataFilterFactory implements DataFilterFactory {
16
17   private Map JavaDoc<String JavaDoc,String JavaDoc> map;
18
19
20   public GenericDataFilterFactory(Map JavaDoc<String JavaDoc,String JavaDoc> filtersRef) {
21     map = new HashMap JavaDoc<String JavaDoc,String JavaDoc>(filtersRef);
22   }
23
24
25   public Set JavaDoc<String JavaDoc> listNames() {
26     return new HashSet JavaDoc<String JavaDoc>(map.keySet());
27   }
28
29
30   public DataFilter create(String JavaDoc name) {
31     if (!map.containsKey(name))
32       throw new IllegalArgumentException JavaDoc("Filter "+name+" cannot be loaded");
33
34     String JavaDoc ref = map.get(name);
35     if (ref == null || ref.length() == 0) return null; //No filter required
36

37     DataFilter filter = (DataFilter) ObjectFactory.getObject(ref);
38     filter.setName(name);
39     return filter;
40   }
41 }
42
Popular Tags