Package net.sf.saxon.expr
Class RoleLocator
- java.lang.Object
-
- net.sf.saxon.expr.RoleLocator
-
- All Implemented Interfaces:
java.io.Serializable
public class RoleLocator extends java.lang.Object implements java.io.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.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
BINARY_EXPR
static int
FUNCTION
static int
FUNCTION_RESULT
static int
INSTRUCTION
static int
ORDER_BY
static int
PARAM
static int
TEMPLATE_RESULT
static int
TYPE_OP
static int
UNARY_EXPR
static int
UPDATING_EXPR
static int
VARIABLE
-
Constructor Summary
Constructors Constructor Description RoleLocator(int kind, java.io.Serializable operation, int operand)
Create information about the role of a subexpression within its parent expression
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
composeErrorMessage(ItemType requiredItemType, ItemType suppliedItemType, NamePool pool)
Construct a full error messagejava.lang.String
composeRequiredMessage(ItemType requiredItemType, NamePool pool)
Construct the part of the message giving the required item typejava.lang.String
getErrorCode()
Get the error code to be produced if a type error is detectedjava.lang.String
getMessage()
Construct and return the error message indicating a type errorvoid
setErrorCode(java.lang.String code)
Set the error code to be produced if a type error is detected
-
-
-
Field Detail
-
FUNCTION
public static final int FUNCTION
- See Also:
- Constant Field Values
-
BINARY_EXPR
public static final int BINARY_EXPR
- See Also:
- Constant Field Values
-
TYPE_OP
public static final int TYPE_OP
- See Also:
- Constant Field Values
-
VARIABLE
public static final int VARIABLE
- See Also:
- Constant Field Values
-
INSTRUCTION
public static final int INSTRUCTION
- See Also:
- Constant Field Values
-
FUNCTION_RESULT
public static final int FUNCTION_RESULT
- See Also:
- Constant Field Values
-
ORDER_BY
public static final int ORDER_BY
- See Also:
- Constant Field Values
-
TEMPLATE_RESULT
public static final int TEMPLATE_RESULT
- See Also:
- Constant Field Values
-
PARAM
public static final int PARAM
- See Also:
- Constant Field Values
-
UNARY_EXPR
public static final int UNARY_EXPR
- See Also:
- Constant Field Values
-
UPDATING_EXPR
public static final int UPDATING_EXPR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RoleLocator
public RoleLocator(int kind, java.io.Serializable operation, int operand)
Create information about the role of a subexpression within its parent expression- Parameters:
kind
- the kind of parent expression, e.g. a function call or a variable referenceoperation
- 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 aStructuredQName
. For a string, the special format element/attribute is recognized, for example xsl:for-each/select, to identify the role of an XPath expression in a stylesheet.operand
- Ordinal position of this subexpression, e.g. the position of an argument in
-
-
Method Detail
-
setErrorCode
public void setErrorCode(java.lang.String code)
Set the error code to be produced if a type error is detected- Parameters:
code
- The error code
-
getErrorCode
public java.lang.String getErrorCode()
Get the error code to be produced if a type error is detected- Returns:
- code The error code
-
getMessage
public java.lang.String getMessage()
Construct and return the error message indicating a type error- Returns:
- the constructed error message
-
composeRequiredMessage
public java.lang.String composeRequiredMessage(ItemType requiredItemType, NamePool pool)
Construct the part of the message giving the required item type- Parameters:
requiredItemType
- the item type required by the context of a particular expressionpool
- the name pool- Returns:
- a message of the form "Required item type of X is Y"
-
composeErrorMessage
public java.lang.String composeErrorMessage(ItemType requiredItemType, ItemType suppliedItemType, NamePool pool)
Construct a full error message- Parameters:
requiredItemType
- the item type required by the context of a particular expressionsuppliedItemType
- the item type inferred by static analysis of an expressionpool
- the name pool- Returns:
- a message of the form "Required item type of A is R; supplied value has item type S"
-
-