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