/*
* Copyright 2001-2007 Geert Bevin <gbevin[remove] at uwyn dot com>
* Distributed under the terms of either:
* - the common development and distribution license (CDDL), v1.0; or
* - the GNU Lesser General Public License, v2.1 or later
* $Id: SiteProcessorFactory.java 3634 2007-01-08 21:42:24Z gbevin $
*/
package com.uwyn.rife.engine;
import com.uwyn.rife.datastructures.EnumClass;
import java.util.Collection;
public class SiteProcessorFactory extends EnumClass<String>
{
public static final String MANUAL_IDENTIFIER = "manual";
public static final String XML_IDENTIFIER = "xml";
public static final String GROOVY_IDENTIFIER = "groovy";
public static final String JANINO_IDENTIFIER = "janino";
public static final SiteProcessorFactory MANUAL = new SiteProcessorFactory(MANUAL_IDENTIFIER, null, null);
public static final SiteProcessorFactory XML = new SiteProcessorFactory(XML_IDENTIFIER, "xml", new Xml2Site());
public static final SiteProcessorFactory GROOVY = new SiteProcessorFactory(GROOVY_IDENTIFIER, "groovy", new Groovy2Site());
public static final SiteProcessorFactory JANINO = new SiteProcessorFactory(JANINO_IDENTIFIER, "janino", new Janino2Site());
private String mExtension = null;
private SiteProcessor mProcessor = null;
public SiteProcessorFactory(String identifier, String extension, SiteProcessor processor)
{
super(identifier);
mExtension = extension;
mProcessor = processor;
}
public String getIdentifier()
{
return toString();
}
public String getExtension()
{
return mExtension;
}
public SiteProcessor getProcessor()
{
return mProcessor;
}
public static SiteProcessorFactory getSiteProcessorFactory(String identifier)
{
return getMember(SiteProcessorFactory.class, identifier);
}
public static Collection<SiteProcessorFactory> getSiteProcessorFactories()
{
return (Collection<SiteProcessorFactory>)getMembers(SiteProcessorFactory.class);
}
}
|