本文整理匯總了Java中org.jaxen.expr.FunctionCallExpr類的典型用法代碼示例。如果您正苦於以下問題:Java FunctionCallExpr類的具體用法?Java FunctionCallExpr怎麽用?Java FunctionCallExpr使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
FunctionCallExpr類屬於org.jaxen.expr包,在下文中一共展示了FunctionCallExpr類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: endFunction
import org.jaxen.expr.FunctionCallExpr; //導入依賴的package包/類
public void endFunction()
{
FunctionCallExpr function = (FunctionCallExpr) peekFrame().removeFirst();
addParameters( function,
popFrame().iterator() );
push( function );
}
示例2: addParameters
import org.jaxen.expr.FunctionCallExpr; //導入依賴的package包/類
protected void addParameters(FunctionCallExpr function,
Iterator paramIter)
{
while ( paramIter.hasNext() )
{
function.addParameter( (Expr) paramIter.next() );
}
}
示例3: extractValue
import org.jaxen.expr.FunctionCallExpr; //導入依賴的package包/類
@SuppressWarnings("rawtypes")
@Nullable
private Object extractValue(final Expr node) {
if (node instanceof LiteralExpr) {
return ((LiteralExpr) node).getLiteral();
} else if (node instanceof NumberExpr) {
final Number number = ((NumberExpr) node).getNumber();
return number instanceof Double || number instanceof Float ? number.doubleValue()
: number.longValue(); // always return a Double
} else if (node instanceof FunctionCallExpr) {
final FunctionCallExpr function = (FunctionCallExpr) node;
final String name = function.getFunctionName();
String arg0 = null;
String arg1 = null;
final List params = function.getParameters();
final int numParams = params.size();
if (numParams > 0 && params.get(0) instanceof LiteralExpr) {
arg0 = ((LiteralExpr) params.get(0)).getLiteral();
}
if (numParams > 1 && params.get(1) instanceof LiteralExpr) {
arg1 = ((LiteralExpr) params.get(1)).getLiteral();
}
if (name.equals("uri") && numParams == 1 && arg0 != null) {
return new URIImpl(arg0);
} else if (name.equals("dateTime") && numParams == 1 && arg0 != null) {
return Data.convert(arg0, Date.class);
} else if (name.equals("true") && numParams == 0) {
return true;
} else if (name.equals("false") && numParams == 0) {
return false;
} else if (name.equals("str") && numParams == 1 && arg0 != null) {
return Data.getValueFactory().createLiteral(arg0);
} else if (name.equals("strdt") && numParams == 2 && arg0 != null) {
final Object dt = extractValue((Expr) params.get(1));
if (dt instanceof URI) {
return Data.getValueFactory().createLiteral(arg0, (URI) dt);
}
} else if (name.equals("strlang") && numParams == 2 && arg0 != null && arg1 != null) {
return Data.getValueFactory().createLiteral(arg0, arg1);
}
}
return null;
}
示例4: enterFunctionCallExpr
import org.jaxen.expr.FunctionCallExpr; //導入依賴的package包/類
void enterFunctionCallExpr(final FunctionCallExpr expr) {
}
示例5: exitFunctionCallExpr
import org.jaxen.expr.FunctionCallExpr; //導入依賴的package包/類
void exitFunctionCallExpr(final FunctionCallExpr expr) {
}