net.sf.saxon.expr
Class RoleLocator

java.lang.Object
  extended by net.sf.saxon.expr.RoleLocator
All Implemented Interfaces:
Serializable

public class RoleLocator
extends 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.

See Also:
Serialized Form

Field Summary
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 VARIABLE
           
 
Constructor Summary
RoleLocator(int kind, Object container, int operand, NamePool namePool)
          Create information about the role of a subexpression within its parent expression
 
Method Summary
 String composeErrorMessage(ItemType requiredItemType, ItemType suppliedItemType, NamePool pool)
          Construct a full error message
 String composeRequiredMessage(ItemType requiredItemType, NamePool pool)
          Construct the part of the message giving the required item type
 String getErrorCode()
          Get the error code to be produced if a type error is detected
 String getMessage()
          Construct and return the error message indicating a type error
 SourceLocator getSourceLocator()
          Get the source location (if known - return null if not known)
 void setErrorCode(String code)
          Set the error code to be produced if a type error is detected
 void setSourceLocator(SourceLocator locator)
          Set the source location
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

RoleLocator

public RoleLocator(int kind,
                   Object container,
                   int operand,
                   NamePool namePool)
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 reference
container - 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 in
namePool - The name pool. Must be supplied if the second argument is an Integer namecode. Otherwise, may be null.
Method Detail

setErrorCode

public void setErrorCode(String code)
Set the error code to be produced if a type error is detected

Parameters:
code - The error code

getErrorCode

public String getErrorCode()
Get the error code to be produced if a type error is detected

Returns:
code The error code

setSourceLocator

public void setSourceLocator(SourceLocator locator)
Set the source location


getSourceLocator

public SourceLocator getSourceLocator()
Get the source location (if known - return null if not known)


getMessage

public String getMessage()
Construct and return the error message indicating a type error

Returns:
the constructed error message

composeRequiredMessage

public String composeRequiredMessage(ItemType requiredItemType,
                                     NamePool pool)
Construct the part of the message giving the required item type


composeErrorMessage

public String composeErrorMessage(ItemType requiredItemType,
                                  ItemType suppliedItemType,
                                  NamePool pool)
Construct a full error message



Copyright (C) Michael H. Kay. All rights reserved.