Package net.sf.saxon.type
Class JavaExternalObjectType
- java.lang.Object
-
- net.sf.saxon.type.AnyExternalObjectType
-
- net.sf.saxon.type.ExternalObjectType
-
- net.sf.saxon.type.JavaExternalObjectType
-
- All Implemented Interfaces:
ItemType
public class JavaExternalObjectType extends ExternalObjectType
This class represents the type of an external Java object returned by an extension function, or supplied as an external variable/parameter.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sf.saxon.type.ItemType
ItemType.WithSequenceTypeCache
-
-
Field Summary
Fields Modifier and Type Field Description protected Configurationconfigprotected java.lang.Class<?>javaClass-
Fields inherited from class net.sf.saxon.type.AnyExternalObjectType
THE_INSTANCE
-
-
Constructor Summary
Constructors Constructor Description JavaExternalObjectType(Configuration config, java.lang.Class<?> javaClass)Create an external object type.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.StringclassNameToLocalName(java.lang.String className)Static method to convert a Java class name to an XPath local name.static StructuredQNameclassNameToQName(java.lang.String className)Static method to get the QName corresponding to a Java class namebooleanequals(java.lang.Object obj)Test whether two ExternalObjectType objects represent the same typeConfigurationgetConfiguration()java.lang.StringgetDisplayName()java.lang.Class<?>getJavaClass()Get the Java class to which this external object type correspondsjava.lang.StringgetName()Get the local name of this type.ItemTypegetPrimitiveItemType()Get the primitive item type corresponding to this item type.AffinitygetRelationship(JavaExternalObjectType other)Get the relationship of this external object type to another external object typejava.lang.StringgetTargetNamespace()Get the target namespace of this type.StructuredQNamegetTypeName()Get the name of this type as a StructuredQName, unless the type is anonymous, in which case return nullinthashCode()Returns a hash code value for the object.static java.lang.StringlocalNameToClassName(java.lang.String className)Static method to convert an XPath local name to a Java class name.booleanmatches(Item item, TypeHierarchy th)Test whether a given item conforms to this typejava.lang.StringtoString()-
Methods inherited from class net.sf.saxon.type.ExternalObjectType
isPlainType
-
Methods inherited from class net.sf.saxon.type.AnyExternalObjectType
getAtomizedItemType, getBasicAlphaCode, getDefaultPriority, getGenre, getPrimitiveType, getUType, isAtomicType, isAtomizable
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.type.ItemType
explainMismatch, getFullAlphaCode, getNormalizedDefaultPriority, isTrueItemType, toExportString
-
-
-
-
Field Detail
-
config
protected Configuration config
-
javaClass
protected java.lang.Class<?> javaClass
-
-
Constructor Detail
-
JavaExternalObjectType
public JavaExternalObjectType(Configuration config, java.lang.Class<?> javaClass)
Create an external object type.- Parameters:
javaClass- the Java class to which this type corresponds
-
-
Method Detail
-
getConfiguration
public Configuration getConfiguration()
-
getName
public java.lang.String getName()
Get the local name of this type.- Specified by:
getNamein classExternalObjectType- Returns:
- the fully qualified name of the Java class.
-
getTargetNamespace
public java.lang.String getTargetNamespace()
Get the target namespace of this type. The is always NamespaceConstant.JAVA_TYPE.- Specified by:
getTargetNamespacein classExternalObjectType- Returns:
- the target namespace of this type definition.
-
getTypeName
public StructuredQName getTypeName()
Get the name of this type as a StructuredQName, unless the type is anonymous, in which case return null- Specified by:
getTypeNamein classExternalObjectType- Returns:
- the name of the atomic type, or null if the type is anonymous.
-
getPrimitiveItemType
public ItemType getPrimitiveItemType()
Get the primitive item type corresponding to this item type.- Specified by:
getPrimitiveItemTypein interfaceItemType- Overrides:
getPrimitiveItemTypein classAnyExternalObjectType- Returns:
- EXTERNAL_OBJECT_TYPE, the ExternalObjectType that encapsulates the Java type Object.class.
-
getRelationship
public Affinity getRelationship(JavaExternalObjectType other)
Get the relationship of this external object type to another external object type- Parameters:
other- the other external object type- Returns:
- the relationship of this external object type to another external object type,
as one of the constants in class
Affinity, for exampleAffinity.SUBSUMES
-
getJavaClass
public java.lang.Class<?> getJavaClass()
Get the Java class to which this external object type corresponds- Returns:
- the corresponding Java class
-
matches
public boolean matches(Item item, TypeHierarchy th)
Test whether a given item conforms to this type- Specified by:
matchesin interfaceItemType- Overrides:
matchesin classAnyExternalObjectType- Parameters:
item- The item to be testedth- The type hierarchy cache- Returns:
- true if the item is an instance of this type; false otherwise
-
toString
public java.lang.String toString()
-
getDisplayName
public java.lang.String getDisplayName()
-
hashCode
public int hashCode()
Returns a hash code value for the object.- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
Test whether two ExternalObjectType objects represent the same type- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- the other ExternalObjectType- Returns:
- true if the two objects represent the same type
-
classNameToLocalName
public static java.lang.String classNameToLocalName(java.lang.String className)
Static method to convert a Java class name to an XPath local name. This involves the following substitutions: "$" is replaced by "-", and "[" is replaced by "_-".
-
localNameToClassName
public static java.lang.String localNameToClassName(java.lang.String className)
Static method to convert an XPath local name to a Java class name. This involves the following substitutions: "-" is replaced by "$", and leading "_-" pairs are replaced by "[".
-
classNameToQName
public static StructuredQName classNameToQName(java.lang.String className)
Static method to get the QName corresponding to a Java class name
-
-