package flapjack.conf;
import javax.ws.rs.ConstrainedTo;
import javax.ws.rs.RuntimeType;
import javax.ws.rs.core.Configuration;
import javax.ws.rs.core.Feature;
import javax.ws.rs.core.FeatureContext;
import org.glassfish.jersey.server.mvc.MvcFeature;
/**
* Configuration for the Cambridge template processor
*
* @see CambridgeTemplateProcessor
* @author ray
*/
@ConstrainedTo(RuntimeType.SERVER)
public class CambridgeMvcFeature implements Feature {
private final static String SUFFIX = ".html";
public static final String TEMPLATES_BASE_PATH = MvcFeature.TEMPLATE_BASE_PATH + SUFFIX;
public static final String CACHE_TEMPLATES = MvcFeature.CACHE_TEMPLATES + SUFFIX;
public static final String TEMPLATE_OBJECT_FACTORY = MvcFeature.TEMPLATE_OBJECT_FACTORY + SUFFIX;
public static final String ENCODING = MvcFeature.ENCODING + SUFFIX;
@Override
public boolean configure(final FeatureContext context) {
final Configuration config = context.getConfiguration();
if (!config.isRegistered(CambridgeTemplateProcessor.class)) {
context.register(CambridgeTemplateProcessor.class);
if (!config.isRegistered(MvcFeature.class)) {
context.register(MvcFeature.class);
}
return true;
}
return false;
}
}