net.sf.saxon.expr
Class RoleLocator
java.lang.Object
net.sf.saxon.expr.RoleLocator
- Serializable
public class RoleLocator
extends java.lang.Object
implements Serializable
A RoleLocator identifies the role in which an expression is used, for example as
the third argument of the concat() function. This information is stored in an
ItemChecker or CardinalityChecker so that good diagnostics can be
achieved when run-time type errors are detected.
RoleLocator(int kind, Object container, int operand, NamePool namePool) - Create information about the role of a subexpression within its parent expression
|
BINARY_EXPR
public static final int BINARY_EXPR
FUNCTION
public static final int FUNCTION
FUNCTION_RESULT
public static final int FUNCTION_RESULT
INSTRUCTION
public static final int INSTRUCTION
ORDER_BY
public static final int ORDER_BY
PARAM
public static final int PARAM
TEMPLATE_RESULT
public static final int TEMPLATE_RESULT
TYPE_OP
public static final int TYPE_OP
UNARY_EXPR
public static final int UNARY_EXPR
VARIABLE
public static final int VARIABLE
RoleLocator
public RoleLocator(int kind,
Object container,
int operand,
NamePool namePool)
Create information about the role of a subexpression within its parent expression
kind
- the kind of parent expression, e.g. a function call or a variable referencecontainer
- the name of the object in the parent expression, e.g. a function name or
instruction name. May be expressed either as a String or as an Integer nameCode in the name pool
or as a StructuredQName
operand
- Ordinal position of this subexpression, e.g. the position of an argument innamePool
- The name pool. Must be supplied if the second argument is an Integer namecode.
Otherwise, may be null.
composeErrorMessage
public String composeErrorMessage(ItemType requiredItemType,
ItemType suppliedItemType,
NamePool pool)
Construct a full error message
composeRequiredMessage
public String composeRequiredMessage(ItemType requiredItemType,
NamePool pool)
Construct the part of the message giving the required item type
getErrorCode
public String getErrorCode()
Get the error code to be produced if a type error is detected
getMessage
public String getMessage()
Construct and return the error message indicating a type error
- the constructed error message
getSourceLocator
public SourceLocator getSourceLocator()
Get the source location (if known - return null if not known)
setErrorCode
public void setErrorCode(String code)
Set the error code to be produced if a type error is detected
setSourceLocator
public void setSourceLocator(SourceLocator locator)
Set the source location