org.apache.xerces.impl.xs.identity

## Class IdentityConstraint

- java.lang.Object
- - org.apache.xerces.impl.xs.identity.IdentityConstraint

All Implemented Interfaces:
  org.apache.xerces.xs.XSIDCDefinition, org.apache.xerces.xs.XSObject

Direct Known Subclasses:
  KeyRef, UniqueOrKey

    public abstract class IdentityConstraint
    extends java.lang.Object
    implements org.apache.xerces.xs.XSIDCDefinition

Base class of Schema identity constraint.

Version:
  $Id: IdentityConstraint.java 699892 2008-09-28 21:08:27Z mrglavas $
Author:
  Andy Clark, IBM

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

### Field Summary

Fields
`protected XSAnnotationImpl[]` `fAnnotations`
`protected java.lang.String` `fElementName` name of owning element
`protected int` `fFieldCount` Field count.
`protected Field[]` `fFields` Fields.
`protected java.lang.String` `fIdentityConstraintName` Identity constraint name.
`protected java.lang.String` `fNamespace` target namespace
`protected int` `fNumAnnotations`
`protected Selector` `fSelector` Selector.
`protected short` `type` type

### Fields inherited from interface org.apache.xerces.xs.XSIDCDefinition

`IC_KEY, IC_KEYREF, IC_UNIQUE`

### Constructor Summary

Constructors
`protected` `IdentityConstraint(java.lang.String namespace, java.lang.String identityConstraintName, java.lang.String elemName)` Default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addAnnotation(XSAnnotationImpl annotation)`
`void` `addField(Field field)` Adds a field.
`boolean` `equals(IdentityConstraint id)`
`org.apache.xerces.xs.XSObjectList` `getAnnotations()` Optional.
`short` `getCategory()` {identity-constraint category} One of key, keyref or unique.
`java.lang.String` `getElementName()`
`Field` `getFieldAt(int index)` Returns the field at the specified index.
`int` `getFieldCount()` Returns the field count.
`org.apache.xerces.xs.StringList` `getFieldStrs()` {fields} A non-empty list of restricted XPath ([XPath]) expressions.
`java.lang.String` `getIdentityConstraintName()` Returns the identity constraint name.
`java.lang.String` `getName()` The `name` of this `XSObject` depending on the `XSObject` type.
`java.lang.String` `getNamespace()` The namespace URI of this node, or `null` if it is unspecified.
`org.apache.xerces.xs.XSNamespaceItem` `getNamespaceItem()` A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or `null` otherwise.
`org.apache.xerces.xs.XSIDCDefinition` `getRefKey()` {referenced key} Required if {identity-constraint category} is keyref, forbidden otherwise.
`Selector` `getSelector()` Returns the selector.
`java.lang.String` `getSelectorStr()` {selector} A restricted XPath ([XPath]) expression
`short` `getType()` Get the type of the object, i.e ELEMENT_DECLARATION.
`void` `setSelector(Selector selector)` Sets the selector.
`java.lang.String` `toString()` Returns a string representation of this object.

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

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

### Field Detail

#### type

    protected short type

type

#### fNamespace

    protected final java.lang.String fNamespace

target namespace

#### fIdentityConstraintName

    protected final java.lang.String fIdentityConstraintName

Identity constraint name.

#### fElementName

    protected final java.lang.String fElementName

name of owning element

#### fSelector

    protected Selector fSelector

Selector.

#### fFieldCount

    protected int fFieldCount

Field count.

#### fFields

    protected Field[] fFields

Fields.

#### fAnnotations

    protected XSAnnotationImpl[] fAnnotations

#### fNumAnnotations

    protected int fNumAnnotations

### Constructor Detail

#### IdentityConstraint

    protected IdentityConstraint(java.lang.String namespace,
                                 java.lang.String identityConstraintName,
                                 java.lang.String elemName)

Default constructor.

### Method Detail

#### getIdentityConstraintName

    public java.lang.String getIdentityConstraintName()

Returns the identity constraint name.

#### setSelector

    public void setSelector(Selector selector)

Sets the selector.

#### getSelector

    public Selector getSelector()

Returns the selector.

#### addField

    public void addField(Field field)

Adds a field.

#### getFieldCount

    public int getFieldCount()

Returns the field count.

#### getFieldAt

    public Field getFieldAt(int index)

Returns the field at the specified index.

#### getElementName

    public java.lang.String getElementName()

#### toString

    public java.lang.String toString()

Returns a string representation of this object.

Overrides:
  `toString` in class `java.lang.Object`

#### equals

    public boolean equals(IdentityConstraint id)

#### getType

    public short getType()

Get the type of the object, i.e ELEMENT_DECLARATION.

Specified by:
  `getType` in interface `org.apache.xerces.xs.XSObject`

#### getName

    public java.lang.String getName()

The `name` of this `XSObject` depending on the `XSObject` type.

Specified by:
  `getName` in interface `org.apache.xerces.xs.XSObject`

#### getNamespace

    public java.lang.String getNamespace()

The namespace URI of this node, or `null` if it is unspecified. defines how a namespace URI is attached to schema components.

Specified by:
  `getNamespace` in interface `org.apache.xerces.xs.XSObject`

#### getCategory

    public short getCategory()

{identity-constraint category} One of key, keyref or unique.

Specified by:
  `getCategory` in interface `org.apache.xerces.xs.XSIDCDefinition`

#### getSelectorStr

    public java.lang.String getSelectorStr()

{selector} A restricted XPath ([XPath]) expression

Specified by:
  `getSelectorStr` in interface `org.apache.xerces.xs.XSIDCDefinition`

#### getFieldStrs

    public org.apache.xerces.xs.StringList getFieldStrs()

{fields} A non-empty list of restricted XPath ([XPath]) expressions.

Specified by:
  `getFieldStrs` in interface `org.apache.xerces.xs.XSIDCDefinition`

#### getRefKey

    public org.apache.xerces.xs.XSIDCDefinition getRefKey()

{referenced key} Required if {identity-constraint category} is keyref, forbidden otherwise. An identity-constraint definition with {identity-constraint category} equal to key or unique.

Specified by:
  `getRefKey` in interface `org.apache.xerces.xs.XSIDCDefinition`

#### getAnnotations

    public org.apache.xerces.xs.XSObjectList getAnnotations()

Optional. Annotation.

Specified by:
  `getAnnotations` in interface `org.apache.xerces.xs.XSIDCDefinition`

#### getNamespaceItem

    public org.apache.xerces.xs.XSNamespaceItem getNamespaceItem()

Description copied from interface: `org.apache.xerces.xs.XSObject`
A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or `null` otherwise.

Specified by:
  `getNamespaceItem` in interface `org.apache.xerces.xs.XSObject`
See Also:
  `XSObject.getNamespaceItem()`

#### addAnnotation

    public void addAnnotation(XSAnnotationImpl annotation)