package pcgen.output.model;
import pcgen.cdom.enumeration.ObjectKey;
import pcgen.cdom.inst.CodeControl;
import pcgen.output.base.SimpleWrapperLibrary;
import freemarker.template.TemplateHashModel;
import freemarker.template.TemplateModel;
import freemarker.template.TemplateModelException;
/**
* A CodeControlModel is a TemplateHashModel that wraps a CodeControl setting.
*/
public class CodeControlModel implements TemplateHashModel
{
private final CodeControl control;
/**
* Constructs a new CodeControlModel with the given underlying CodeControl.
*
* @param controller
* The CodeControl underlying this CodeControlModel
*/
public CodeControlModel(CodeControl controller)
{
control = controller;
}
@Override
public TemplateModel get(String key) throws TemplateModelException
{
String result =
control.get(ObjectKey.getKeyFor(String.class, "*" + key));
if (result == null)
{
return null;
}
return SimpleWrapperLibrary.wrap(result);
}
@Override
public boolean isEmpty() throws TemplateModelException
{
return false;
}
}