## com.saxonica.schema
Class SimpleComponentReference

    java.lang.Object
      com.saxonica.schema.SchemaStructure
          com.saxonica.schema.SimpleComponentReference

All Implemented Interfaces:
  ComponentReference, Serializable, SourceLocator

Direct Known Subclasses:
  AttributeUse, ElementParticle

    public class SimpleComponentReference

extends SchemaStructure
implements ComponentReference

A reference to a named schema group within the content model of a complex type

See Also:
  Serialized Form

Constructor Summary
`SimpleComponentReference(int symbolSpace, int fingerprint, SchemaAwareConfiguration config)` Creates a new SimpleComponentReference definition

Method Summary
`int` `getFingerprint()` Get the fingerprint of the target of this reference
`int` `getNameCode()`
`int` `getSymbolSpace()` Get the symbol space of the target of this reference
`SchemaComponent` `getTarget()` Returns the schema component that this is a reference to
`boolean` `isResolved()` Determine whether this reference has been resolved
`void` `setNameCode(int nameCode)`
`void` `setTarget(SchemaComponent target)` Set the target component
`void` `tryToResolve(SchemaCompiler compiler)` Attempt to resolve this reference using the components defined in a given schema.

Methods inherited from class com.saxonica.schema.SchemaStructure
`getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getSystemId, getValidationStatus, lookForCycles, setConfiguration, setFixupStatus, setLineNumber, setLocator, setSystemId, setValidationStatus`

Methods inherited from class java.lang.Object
`equals, 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

### SimpleComponentReference

    public SimpleComponentReference(int symbolSpace,
                                    int fingerprint,
                                    SchemaAwareConfiguration config)

  Creates a new SimpleComponentReference definition

  Parameters:
    `config` - the configuration to which this component belongs

Method Detail

### isResolved

    public boolean isResolved()

  Determine whether this reference has been resolved

  Specified by:
    `isResolved` in interface `ComponentReference`

### setNameCode

    public void setNameCode(int nameCode)

### getFingerprint

    public int getFingerprint()

  Description copied from interface: `ComponentReference`
  Get the fingerprint of the target of this reference

  Specified by:
    `getFingerprint` in interface `ComponentReference`

### getNameCode

    public int getNameCode()

### getSymbolSpace

    public int getSymbolSpace()

  Get the symbol space of the target of this reference

  Specified by:
    `getSymbolSpace` in interface `ComponentReference`

### getTarget

    public SchemaComponent getTarget()
                              throws UnresolvedReferenceException

  Returns the schema component that this 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.

### setTarget

    public void setTarget(SchemaComponent target)

  Set the target component

### tryToResolve

    public void tryToResolve(SchemaCompiler compiler)

  Attempt to resolve this reference using the components 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) Michael H. Kay. All rights reserved.