public class ValueParserPolicy extends java.lang.Object implements PropExpressionVisitor<ValueParser>
PropExpressionVisitor to create a ValueParser appropriate to
a PropExpression.
This class defaults to using the ValueParserService
but can be sub-classed to customise the behaviour.
This class also caches the ValueParsers by PropertyTag so a single visitor should be used for
an entire parse pass.| Constructor and Description |
|---|
ValueParserPolicy(uk.ac.ed.epcc.webapp.AppContext conn) |
public void setFormat(java.lang.String format)
public boolean setXML(boolean xml)
public final <T> ValueParser<T> getValueParser(java.lang.Class<? extends T> clazz)
public final <T> ValueParser<T> getDefaultValueParser(java.lang.Class<? extends T> clazz)
public final <T> ValueParser<T> getValueParser(java.lang.Class<? extends T> clazz, java.lang.String tag)
public ValueParser makeValueParser(java.lang.Class clazz)
clazz - public ValueParser visitStringPropExpression(StringPropExpression<?> stringExpression) throws java.lang.Exception
visitStringPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitIntPropExpression(IntPropExpression<?> intExpression) throws java.lang.Exception
visitIntPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitDoublePropExpression(DoublePropExpression<?> expression) throws java.lang.Exception
visitDoublePropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitDurationCastPropExpression(DurationCastPropExpression<?> expression) throws java.lang.Exception
visitDurationCastPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitConstPropExpression(ConstPropExpression<?> constExpression) throws java.lang.Exception
visitConstPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitBinaryPropExpression(BinaryPropExpression binaryPropExpression) throws java.lang.Exception
visitBinaryPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitMilliSecondDatePropExpression(MilliSecondDatePropExpression milliSecondDate) throws java.lang.Exception
visitMilliSecondDatePropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitNamePropExpression(NamePropExpression namePropExpression) throws java.lang.Exception
visitNamePropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic <T extends uk.ac.ed.epcc.webapp.model.data.DataObject & ExpressionTarget> ValueParser visitDeRefExpression(DeRefExpression<T,?> deRefExpression) throws java.lang.Exception
visitDeRefExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitPropertyTag(PropertyTag<?> tag) throws java.lang.Exception
visitPropertyTag in interface BasePropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitSelectPropExpression(SelectPropExpression<?> sel) throws java.lang.Exception
visitSelectPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitDurationPropExpression(DurationPropExpression sel) throws java.lang.Exception
visitDurationPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic <T,D> ValueParser visitTypeConverterPropExpression(TypeConverterPropExpression<T,D> sel) throws java.lang.Exception
visitTypeConverterPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic <T,R> ValueParser visitLabelPropExpression(LabelPropExpression<T,R> expr) throws java.lang.Exception
visitLabelPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitDurationSecondPropExpression(DurationSecondsPropExpression d) throws java.lang.Exception
visitDurationSecondPropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic <T> ValueParser visitCasePropExpression(CasePropExpression<T> expr) throws java.lang.Exception
visitCasePropExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exceptionpublic ValueParser visitConvetMillisecondToDateExpression(ConvertMillisecondToDatePropExpression expr) throws java.lang.Exception
visitConvetMillisecondToDateExpression in interface PropExpressionVisitor<ValueParser>java.lang.Exception