|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectfreemarker.template.expression.ExpressionUtils
public final class ExpressionUtils
Utility methods for evaluating expressions. These are used in various
parts of the freemarker.template.expression package.
They are also generally useful when dealing with TemplateModels
directly, such as when retrieving parameters from a TemplateMethodModel2
parameter list.
| Nested Class Summary | |
|---|---|
static class |
ExpressionUtils.ExpressionType
Enumerates the types of results that an expression can generate. |
| Field Summary | |
|---|---|
static java.util.Set<ExpressionUtils.ExpressionType> |
HASH
The expression can be a Hash only. |
static java.util.Set<ExpressionUtils.ExpressionType> |
LIST
The expression can be a List only. |
static java.util.Set<ExpressionUtils.ExpressionType> |
METHOD
The expression can be a Method only. |
static java.util.Set<ExpressionUtils.ExpressionType> |
NUMBER
The expression can be a Number only. |
static java.util.Set<ExpressionUtils.ExpressionType> |
STRING
The expression can be a String only. |
static java.util.Set<ExpressionUtils.ExpressionType> |
STRING_OR_NUMBER
The expression can be a String or a Number. |
static java.util.Set<ExpressionUtils.ExpressionType> |
VARIABLE
The expression is a variable, so can return anything other than a constant. |
| Method Summary | |
|---|---|
static long |
compareNumbers(TemplateModel leftModel,
TemplateModel rightModel)
Compares two numeric expressions. |
static long |
getAsNumber(TemplateModel model)
Determines the given TemplateModel's long value. |
static java.lang.String |
getAsString(TemplateModel model)
Determines the given TemplateModel's String value. |
static java.lang.String |
getAsStringOrEmpty(TemplateModel model)
Determines the given TemplateModel's String value. |
static boolean |
isEqual(TemplateModel leftModel,
TemplateModel rightModel)
Determines whether both sides of an expression are equal. |
static boolean |
isTrue(TemplateModel model)
Determines the "truth" of a given template model. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.util.Set<ExpressionUtils.ExpressionType> VARIABLE
public static final java.util.Set<ExpressionUtils.ExpressionType> STRING_OR_NUMBER
public static final java.util.Set<ExpressionUtils.ExpressionType> STRING
public static final java.util.Set<ExpressionUtils.ExpressionType> NUMBER
public static final java.util.Set<ExpressionUtils.ExpressionType> HASH
public static final java.util.Set<ExpressionUtils.ExpressionType> LIST
public static final java.util.Set<ExpressionUtils.ExpressionType> METHOD
| Method Detail |
|---|
public static boolean isTrue(TemplateModel model)
throws TemplateModelException
Determines the "truth" of a given template model. This is determined as follows:
null, or is empty according to the
TemplateModel.isEmpty() method, then
it is false
model - the TemplateModel to be tested, possibly null
true if the model evaluates to true, otherwise false
TemplateModelException - the truth of the template model could not be determined
public static java.lang.String getAsString(TemplateModel model)
throws TemplateModelException
Determines the given TemplateModel's String value. This is a simple
case of getting the TemplateScalarModel.getAsString()
value from the model, assuming it implements TemplateScalarModel. If it's a
TemplateNumberModel, we return a base-10 encoding of the number value.
If it's empty or null, return null.
model - the TemplateModel to get the String
value from, possibly null
null if the model is empty
TemplateModelException - the String value of the
template model could not be determined
public static java.lang.String getAsStringOrEmpty(TemplateModel model)
throws TemplateModelException
Determines the given TemplateModel's String value. This is a simple
case of getting the TemplateScalarModel.getAsString()
value from the model, assuming it implements TemplateScalarModel. If it's a
TemplateNumberModel, we return a base-10 encoding of the number value.
If it's empty or null, return the empty string.
model - the TemplateModel to get the String
value from, possibly null
TemplateModelException - the String value of the
template model could not be determined
public static long getAsNumber(TemplateModel model)
throws TemplateModelException
Determines the given TemplateModel's long value. This is a simple
case of getting the TemplateNumberModel.getAsNumber()
value from the model, assuming it implements TemplateNumberModel.
If it's empty or null, return 0.
model - the TemplateModel to get the long
value from, possibly null
TemplateModelException - the String value of the
template model could not be determined
public static boolean isEqual(TemplateModel leftModel,
TemplateModel rightModel)
throws TemplateModelException
null values on either side of the test.
leftModel - the left-hand TemplateModel to be compared,
possibly nullrightModel - the right-hand TemplateModel to be compared,
possibly null
true if the models are equal in value, otherwise
false
TemplateModelException - the template models could not be compared
public static long compareNumbers(TemplateModel leftModel,
TemplateModel rightModel)
throws TemplateModelException
null values
on either side of the comparison.
leftModel - the left-hand TemplateModel to be compared,
possibly nullrightModel - the right-hand TemplateModel to be compared,
possibly null
TemplateModelException - the template models could not be compared
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||