/* * Created on Jun 5, 2005 */ package com.openedit.generators; import java.util.Arrays; import java.util.Iterator; import java.util.List; import com.openedit.Generator; import com.openedit.OpenEditException; import com.openedit.WebPageRequest; import com.openedit.page.Page; import com.openedit.util.PathUtilities; /** * @author cburkey * */ public class GeneratorWithAcceptFilter extends BaseGenerator { protected Generator fieldGenerator; protected List fieldAccepts; public GeneratorWithAcceptFilter(Generator inGen, String inFiles) { setGenerator(inGen); List types = Arrays.asList(inFiles.split(",")); setAccepts(types); } public void generate(WebPageRequest inContext, Page inPage, Output inOut) throws OpenEditException { getGenerator().generate(inContext,inPage, inOut); } public Generator getGenerator() { return fieldGenerator; } public void setGenerator(Generator inGenerator) { fieldGenerator = inGenerator; } public List getAccepts() { return fieldAccepts; } public void setAccepts(List inMimeTypes) { fieldAccepts = inMimeTypes; } public boolean canGenerate(WebPageRequest inReq) { String path = inReq.getPage().getContentItem().getActualPath(); for (Iterator iter = getAccepts().iterator(); iter.hasNext();) { String mtype = (String) iter.next(); if ( PathUtilities.match(path,mtype)) { return true; } } return false; } }