KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > generators > GeneratorWithMimeTypeFilter


1 /*
2  * Created on Jun 5, 2005
3  */

4 package com.openedit.generators;
5
6 import java.util.Arrays JavaDoc;
7 import java.util.Iterator JavaDoc;
8 import java.util.List JavaDoc;
9
10 import com.openedit.Generator;
11 import com.openedit.OpenEditException;
12 import com.openedit.WebPageRequest;
13 import com.openedit.page.Page;
14
15 /**
16  * @author cburkey
17  *
18  */

19 public class GeneratorWithMimeTypeFilter extends BaseGenerator
20 {
21
22     protected Generator fieldGenerator;
23     protected List JavaDoc fieldMimeTypes;
24     public GeneratorWithMimeTypeFilter(Generator inGen, String JavaDoc inTypes)
25     {
26         setGenerator(inGen);
27         List JavaDoc types = Arrays.asList(inTypes.split(","));
28         setMimeTypes(types);
29     }
30     
31     public void generate(WebPageRequest inContext, Page inPage, Output inOut) throws OpenEditException
32     {
33         getGenerator().generate(inContext,inPage, inOut);
34     }
35
36     public Generator getGenerator()
37     {
38         return fieldGenerator;
39     }
40     public void setGenerator(Generator inGenerator)
41     {
42         fieldGenerator = inGenerator;
43     }
44     public List JavaDoc getMimeTypes()
45     {
46         return fieldMimeTypes;
47     }
48     public void setMimeTypes(List JavaDoc inMimeTypes)
49     {
50         fieldMimeTypes = inMimeTypes;
51     }
52     
53     public boolean canGenerate(WebPageRequest inReq)
54     {
55         if( inReq == null)
56         {
57             return false;
58         }
59         String JavaDoc compareTo = inReq.getPage().getMimeType();
60         for (Iterator JavaDoc iter = getMimeTypes().iterator(); iter.hasNext();)
61         {
62             String JavaDoc mtype = (String JavaDoc) iter.next();
63             if ( mtype.equalsIgnoreCase(compareTo))
64             {
65                 return true;
66             }
67             
68         }
69         return false;
70     }
71
72 }
73
Popular Tags