com.saxonica.schema

## Class TypeReference

- java.lang.Object
- - com.saxonica.schema.SchemaStructure
  - - com.saxonica.schema.TypeReference

- All Implemented Interfaces:
    ComponentReference, Serializable, SourceLocator

      public class TypeReference
      extends SchemaStructure
      implements ComponentReference

  A reference to a simple or complex type
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypeReference(int fingerprint, EnterpriseConfiguration config, SourceLocator locator)` Creates a new Type reference

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getFingerprint()` Get the fingerprint of the target of this reference
    `int` | `getSymbolSpace()` Get the symbol space of the target of this reference
    `SchemaComponent` | `getTarget()` Returns the type that this type reference is a reference to
    `boolean` | `isAnonymousType()` Test whether this is a reference to an anonymous type
    `boolean` | `isResolved()` Determine whether this reference has been resolved
    `void` | `setTarget(SchemaType target)`
    `void` | `tryToResolve(SchemaCompiler compiler)` Attempt to resolved this reference using the groups defined in a given schema.

    - ### Methods inherited from class com.saxonica.schema.SchemaStructure

      `elaborate, fixup, getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getRedefinitionLevel, getSchemaDocumentURI, getSystemId, getValidationStatus, lookForCycles, makeXPathExpressionPropertyRecord, setConfiguration, setFixupStatus, setLineNumber, setLocator, setRedefinitionLevel, setSchemaDocumentURI, setSystemId, setValidationStatus`

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

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

    - ### Methods inherited from interface com.saxonica.schema.ComponentReference

      `getConfiguration`

    - ### Methods inherited from interface javax.xml.transform.SourceLocator

      `getColumnNumber, getLineNumber, getPublicId, getSystemId`

- - ### Constructor Detail

    - #### TypeReference

          public TypeReference(int fingerprint,
                       EnterpriseConfiguration config,
                       SourceLocator locator)

      Creates a new Type reference
      Parameters:
        `fingerprint` - the Name Pool fingerprint of the name of the type being referenced
        `config` - identifies the XML Schema in which this type reference appears. May be null if the reference is in a built-in type
        `locator` - the SourceLocator identifying the location of the reference. May be null if the reference is in a built-in type

  - ### Method Detail

    - #### isResolved

          public boolean isResolved()

      Determine whether this reference has been resolved
      Specified by:
        `isResolved` in interface `ComponentReference`
      Returns:
        true if the reference has been resolved to a schema component

    - #### setTarget

          public void setTarget(SchemaType target)

    - #### getFingerprint

          public int getFingerprint()

      Description copied from interface: `ComponentReference`
      Get the fingerprint of the target of this reference
      Specified by:
        `getFingerprint` in interface `ComponentReference`
      Returns:
        the integer fingerprint of the component name

    - #### getSymbolSpace

          public int getSymbolSpace()

      Get the symbol space of the target of this reference
      Specified by:
        `getSymbolSpace` in interface `ComponentReference`
      Returns:
        an integer code identifying the symbol space

    - #### isAnonymousType

          public boolean isAnonymousType()

      Test whether this is a reference to an anonymous type
      Returns:
        true if this SchemaType is an anonymous type

    - #### getTarget

          public SchemaComponent getTarget()
                                    throws UnresolvedReferenceException

      Returns the type that this type reference is a reference to
      Specified by:
        `getTarget` in interface `ComponentReference`
      Returns:
        the schema component if the reference has been resolved.
      Throws:
        `UnresolvedReferenceException` - if the reference has not been resolved. Note that this is an unchecked exception.

    - #### tryToResolve

          public void tryToResolve(SchemaCompiler compiler)

      Attempt to resolved this reference using the groups defined in a given schema. No error results if the reference cannot be resolved.
      Specified by:
        `tryToResolve` in interface `ComponentReference`
      Parameters:
        `compiler` - The compiler being used to compile the referring component. This is assumed to know about the schema containing the candidate target components for the reference. If null, the schema containing the reference is used.

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.