|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object freemarker.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 TemplateModel
s
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 determinedpublic 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 determinedpublic 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 determinedpublic 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 determinedpublic 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 null
rightModel
- 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 comparedpublic 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 null
rightModel
- 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 |