package org.qi4j.library.rest.server.restlet.freemarker;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.TemplateModel;
import freemarker.template.TemplateModelException;
import org.qi4j.api.value.ValueComposite;
/**
* ObjectWrapper implementation that adds support for ValueComposites, exposing Property state.
*/
public class ValueCompositeObjectWrapper
extends DefaultObjectWrapper
{
@Override
public TemplateModel wrap( Object obj )
throws TemplateModelException
{
if( obj instanceof ValueComposite )
{
return new ValueCompositeTemplateModel( (ValueComposite) obj, this );
}
else
{
return super.wrap( obj );
}
}
}