KickJava   Java API By Example, From Geeks To Geeks.

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


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 import com.openedit.util.PathUtilities;
15
16 /**
17  * @author cburkey
18  *
19  */

20 public class GeneratorWithAcceptFilter extends BaseGenerator
21 {
22     protected Generator fieldGenerator;
23     protected List JavaDoc fieldAccepts;
24     public GeneratorWithAcceptFilter(Generator inGen, String JavaDoc inFiles)
25     {
26         setGenerator(inGen);
27         List JavaDoc types = Arrays.asList(inFiles.split(","));
28         setAccepts(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 getAccepts()
45     {
46         return fieldAccepts;
47     }
48     public void setAccepts(List JavaDoc inMimeTypes)
49     {
50         fieldAccepts = inMimeTypes;
51     }
52     
53     public boolean canGenerate(WebPageRequest inReq)
54     {
55         String JavaDoc path = inReq.getPage().getContentItem().getPath();
56         for (Iterator JavaDoc iter = getAccepts().iterator(); iter.hasNext();)
57         {
58             String JavaDoc mtype = (String JavaDoc) iter.next();
59             if ( PathUtilities.match(path,mtype))
60             {
61                 return true;
62             }
63             
64         }
65         return false;
66     }
67
68 }
69
Popular Tags