/* * 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; /** * @author cburkey * */ public class GeneratorWithMimeTypeFilter extends BaseGenerator { protected Generator fieldGenerator; protected List fieldMimeTypes; public GeneratorWithMimeTypeFilter(Generator inGen, String inTypes) { setGenerator(inGen); List types = Arrays.asList(inTypes.split(",")); setMimeTypes(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 getMimeTypes() { return fieldMimeTypes; } public void setMimeTypes(List inMimeTypes) { fieldMimeTypes = inMimeTypes; } public boolean canGenerate(WebPageRequest inReq) { if( inReq == null) { return false; } String compareTo = inReq.getPage().getMimeType(); for (Iterator iter = getMimeTypes().iterator(); iter.hasNext();) { String mtype = (String) iter.next(); if ( mtype.equalsIgnoreCase(compareTo)) { return true; } } return false; } }