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 35 36 37 38
|
package com.jclark.xsl.expr;
import com.jclark.xsl.om.*;
abstract class ConvertibleStringExpr extends ConvertibleExpr implements StringExpr {
ConvertibleStringExpr makeStringExpr() {
return this;
}
ConvertibleBooleanExpr makeBooleanExpr() {
return new ConvertibleBooleanExpr() {
public boolean eval(Node node, ExprContext context) throws XSLException {
return Converter.toBoolean(ConvertibleStringExpr.this.eval(node, context));
}
};
}
ConvertibleVariantExpr makeVariantExpr() {
return new ConvertibleVariantExpr() {
public Variant eval(Node node, ExprContext context) throws XSLException {
return new StringVariant(ConvertibleStringExpr.this.eval(node, context));
}
};
}
ConvertibleNumberExpr makeNumberExpr() {
return new ConvertibleNumberExpr() {
public double eval(Node node, ExprContext context) throws XSLException {
return Converter.toNumber(ConvertibleStringExpr.this.eval(node, context));
}
};
}
public String constantValue() {
return null;
}
}
|