1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
package com.jclark.xsl.expr;
import com.jclark.xsl.om.*;
abstract class ConvertibleBooleanExpr extends ConvertibleExpr implements BooleanExpr {
ConvertibleStringExpr makeStringExpr() {
return new ConvertibleStringExpr() {
public String eval(Node node, ExprContext context) throws XSLException {
return Converter.toString(ConvertibleBooleanExpr.this.eval(node, context));
}
};
}
ConvertibleNumberExpr makeNumberExpr() {
return new ConvertibleNumberExpr() {
public double eval(Node node, ExprContext context) throws XSLException {
return Converter.toNumber(ConvertibleBooleanExpr.this.eval(node, context));
}
};
}
ConvertibleBooleanExpr makeBooleanExpr() {
return this;
}
ConvertibleVariantExpr makeVariantExpr() {
return new ConvertibleVariantExpr() {
public Variant eval(Node node, ExprContext context) throws XSLException {
return new BooleanVariant(ConvertibleBooleanExpr.this.eval(node, context));
}
};
}
}
|