Filter lf = (Filter) value;
switch ( Filters.getFilterType( lf )) {
case COMPARE_EQUALS:
BinaryComparisonOpType.getInstance().encode(new FilterElement(
"PropertyIsEqualTo",
BinaryComparisonOpType.getInstance(), element), value,
output, hints);
return;
case COMPARE_GREATER_THAN:
BinaryComparisonOpType.getInstance().encode(new FilterElement(
"PropertyIsGreaterThan",
BinaryComparisonOpType.getInstance(), element), value,
output, hints);
return;
case COMPARE_GREATER_THAN_EQUAL:
BinaryComparisonOpType.getInstance().encode(new FilterElement(
"PropertyIsGreaterThanOrEqualTo",
BinaryComparisonOpType.getInstance(), element), value,
output, hints);
return;
case COMPARE_LESS_THAN:
BinaryComparisonOpType.getInstance().encode(new FilterElement(
"PropertyIsLessThan",
BinaryComparisonOpType.getInstance(), element), value,
output, hints);
return;
case COMPARE_LESS_THAN_EQUAL:
BinaryComparisonOpType.getInstance().encode(new FilterElement(
"PropertyIsLessThanOrEqualTo",
BinaryComparisonOpType.getInstance(), element), value,
output, hints);
return;
case COMPARE_NOT_EQUALS:
BinaryComparisonOpType.getInstance().encode(new FilterElement(
"PropertyIsNotEqualTo",
BinaryComparisonOpType.getInstance(), element), value,
output, hints);
return;
case LIKE:
PropertyIsLikeType.getInstance().encode(new FilterElement(
"PropertyIsLike", PropertyIsLikeType.getInstance(),
element), value, output, hints);
return;
case NULL:
PropertyIsNullType.getInstance().encode(new FilterElement(
"PropertyIsNull", PropertyIsNullType.getInstance(),
element), value, output, hints);
return;
case BETWEEN:
PropertyIsBetweenType.getInstance().encode(new FilterElement(
"PropertyIsBetween",
PropertyIsBetweenType.getInstance(), element), value,
output, hints);
return;