Package net.sf.saxon.type

## Class ExternalObjectType

- java.lang.Object
- - net.sf.saxon.type.AnyExternalObjectType
  - - net.sf.saxon.type.ExternalObjectType

- All Implemented Interfaces:
    `ItemType`
  Direct Known Subclasses:
    `JavaExternalObjectType`

      public abstract class ExternalObjectType
      extends AnyExternalObjectType

  This class represents the type of an external 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 inherited from class net.sf.saxon.type.AnyExternalObjectType

      `THE_INSTANCE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExternalObjectType()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract java.lang.String` | `getName()` | Get the name of this type.
    `abstract java.lang.String` | `getTargetNamespace()` | Get the target namespace of this type.
    `abstract StructuredQName` | `getTypeName()` | Get the name of this type
    `boolean` | `isPlainType()` | Ask whether this is a plain type (a type whose instances are always atomic values)

    - ### Methods inherited from class net.sf.saxon.type.AnyExternalObjectType

      `getAtomizedItemType, getBasicAlphaCode, getDefaultPriority, getGenre, getPrimitiveItemType, getPrimitiveType, getUType, isAtomicType, isAtomizable, matches`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.type.ItemType

      `explainMismatch, getFullAlphaCode, getNormalizedDefaultPriority, isTrueItemType, toExportString, toString`

- - ### Constructor Detail

    - #### ExternalObjectType

          public ExternalObjectType()

  - ### Method Detail

    - #### getName

          public abstract java.lang.String getName()

      Get the name of this type.
      Returns:
        the fully qualified name of the Java or .NET class.

    - #### getTargetNamespace

          public abstract java.lang.String getTargetNamespace()

      Get the target namespace of this type. For Java this is always `NamespaceConstant.JAVA_TYPE`. For .net it is always `NamespaceConstant.DOT_NET_TYPE`
      Returns:
        the target namespace of this type definition.

    - #### getTypeName

          public abstract StructuredQName getTypeName()

      Get the name of this type
      Returns:
        a name whose namespace indicates the space of Java or .net classes, and whose local name is derived from the fully qualified name of the Java or .net class

    - #### isPlainType

          public final boolean isPlainType()

      Ask whether this is a plain type (a type whose instances are always atomic values)
      Specified by:
        `isPlainType` in interface `ItemType`
      Overrides:
        `isPlainType` in class `AnyExternalObjectType`
      Returns:
        false. External object types are not considered to be atomic types