public class AnyFunctionType extends Object implements FunctionItemType
Note that although this class has a singleton instance representing the type function(*)
,
there are also likely to be instances of subclasses representing more specific function types.
Modifier and Type | Field and Description |
---|---|
static AnyFunctionType |
ANY_FUNCTION |
static SequenceType |
SINGLE_FUNCTION |
Constructor and Description |
---|
AnyFunctionType() |
Modifier and Type | Method and Description |
---|---|
SequenceType[] |
getArgumentTypes()
Get the argument types of the function
|
PlainType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
|
static AnyFunctionType |
getInstance()
Get the singular instance of this type (Note however that subtypes of this type
may have any number of instances)
|
ItemType |
getPrimitiveItemType()
Get the primitive item type corresponding to this item type.
|
int |
getPrimitiveType()
Get the primitive type corresponding to this item type.
|
SequenceType |
getResultType()
Get the result type
|
UType |
getUType()
Get the corresponding
UType . |
boolean |
isArrayType()
Ask whether this function item type is an array type.
|
boolean |
isAtomicType()
Determine whether this item type is an atomic type
|
boolean |
isAtomizable()
Ask whether values of this type are atomizable
|
boolean |
isMapType()
Ask whether this function item type is a map type.
|
boolean |
isPlainType()
Determine whether this item type is atomic (that is, whether it can ONLY match
atomic values)
|
Expression |
makeFunctionSequenceCoercer(Expression exp,
RoleDiagnostic role)
Create an expression whose effect is to apply function coercion to coerce a function from this type to another type
|
boolean |
matches(Item item,
TypeHierarchy th)
Test whether a given item conforms to this type
|
int |
relationship(FunctionItemType other,
TypeHierarchy th)
Determine the relationship of one function item type to another
|
String |
toString()
Produce a representation of this type name for use in error messages.
|
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition
|
public static final AnyFunctionType ANY_FUNCTION
public static SequenceType SINGLE_FUNCTION
public static AnyFunctionType getInstance()
public UType getUType()
UType
. A UType is a union of primitive item
types.public boolean isAtomicType()
isAtomicType
in interface ItemType
public boolean isPlainType()
isPlainType
in interface ItemType
public boolean isMapType()
isMapType
in interface FunctionItemType
public boolean isArrayType()
isArrayType
in interface FunctionItemType
public SequenceType[] getArgumentTypes()
getArgumentTypes
in interface FunctionItemType
public boolean matches(Item item, TypeHierarchy th) throws XPathException
matches
in interface ItemType
item
- The item to be testedth
- XPathException
public final ItemType getPrimitiveItemType()
getPrimitiveItemType
in interface ItemType
public final int getPrimitiveType()
getPrimitiveType
in interface ItemType
public String toString()
public PlainType getAtomizedItemType()
getAtomizedItemType
in interface ItemType
public boolean isAtomizable()
isAtomizable
in interface ItemType
public int relationship(FunctionItemType other, TypeHierarchy th)
relationship
in interface FunctionItemType
TypeHierarchy.SUBSUMES
, TypeHierarchy.SAME_TYPE
public Expression makeFunctionSequenceCoercer(Expression exp, RoleDiagnostic role) throws XPathException
makeFunctionSequenceCoercer
in interface FunctionItemType
exp
- the expression that delivers the supplied sequence of function items (the ones in need of coercion)role
- information for use in diagnosticsXPathException
public void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitNamedSchemaComponents
in interface ItemType
visitor
- the visitor class to be called when each component is visitedXPathException
- if an error occurspublic SequenceType getResultType()
getResultType
in interface FunctionItemType
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.