@Override
public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt)
{
if ( subjArgType.equals(PropFuncArgType.PF_ARG_SINGLE) )
if ( argSubject.isList() )
throw new QueryBuildException("List arguments (subject) to "+predicate.getURI()) ;
if ( subjArgType.equals(PropFuncArgType.PF_ARG_LIST) && ! argSubject.isList() )
throw new QueryBuildException("Single argument, list expected (subject) to "+predicate.getURI()) ;
if ( objFuncArgType.equals(PropFuncArgType.PF_ARG_SINGLE) && argObject.isList() )
{
if ( ! argObject.isNode() )
// But allow rdf:nil.
throw new QueryBuildException("List arguments (object) to "+predicate.getURI()) ;
}
if ( objFuncArgType.equals(PropFuncArgType.PF_ARG_LIST) )
if ( ! argObject.isList() )
throw new QueryBuildException("Single argument, list expected (object) to "+predicate.getURI()) ;
}