org.apache.xerces.impl.xs

## Class XMLSchemaValidator.ValueStoreCache

- java.lang.Object
- - org.apache.xerces.impl.xs.XMLSchemaValidator.ValueStoreCache

Enclosing class:
  XMLSchemaValidator

    protected class XMLSchemaValidator.ValueStoreCache
    extends java.lang.Object

Value store cache. This class is used to store the values for identity constraints.

Author:
  Andy Clark, IBM

### Field Summary

Fields
`protected java.util.HashMap` `fGlobalIDConstraintMap`
`protected java.util.Stack` `fGlobalMapStack`
`protected java.util.HashMap` `fIdentityConstraint2ValueStoreMap` Values stores associated to specific identity constraints.
`protected java.util.ArrayList` `fValueStores` stores all global Values stores.

### Constructor Summary

Constructors
Constructor and Description
`ValueStoreCache()` Default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `endDocument()` Check identity constraints.
`void` `endElement()` endElement(): merges contents of fGlobalIDConstraintMap with the top of fGlobalMapStack into fGlobalIDConstraintMap.
`XMLSchemaValidator.ValueStoreBase` `getGlobalValueStoreFor(IdentityConstraint id)` Returns the global value store associated to the specified IdentityConstraint.
`XMLSchemaValidator.ValueStoreBase` `getValueStoreFor(IdentityConstraint id, int initialDepth)` Returns the value store associated to the specified IdentityConstraint.
`void` `initValueStoresFor(XSElementDecl eDecl, FieldActivator activator)` Initializes the value stores for the specified element declaration.
`void` `startDocument()` Resets the identity constraint cache.
`void` `startElement()`
`java.lang.String` `toString()` Returns a string representation of this object.
`void` `transplant(IdentityConstraint id, int initialDepth)`

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

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

### Field Detail

#### fValueStores

    protected final java.util.ArrayList fValueStores

stores all global Values stores.

#### fIdentityConstraint2ValueStoreMap

    protected final java.util.HashMap fIdentityConstraint2ValueStoreMap

Values stores associated to specific identity constraints. This hashtable maps IdentityConstraints and the 0-based element on which their selectors first matched to a corresponding ValueStore. This should take care of all cases, including where ID constraints with descendant-or-self axes occur on recursively-defined elements.

#### fGlobalMapStack

    protected final java.util.Stack fGlobalMapStack

#### fGlobalIDConstraintMap

    protected final java.util.HashMap fGlobalIDConstraintMap

### Constructor Detail

#### ValueStoreCache

    public ValueStoreCache()

Default constructor.

### Method Detail

#### startDocument

    public void startDocument()

Resets the identity constraint cache.

#### startElement

    public void startElement()

#### endElement

    public void endElement()

endElement(): merges contents of fGlobalIDConstraintMap with the top of fGlobalMapStack into fGlobalIDConstraintMap.

#### initValueStoresFor

    public void initValueStoresFor(XSElementDecl eDecl,
                                   FieldActivator activator)

Initializes the value stores for the specified element declaration.

#### getValueStoreFor

    public XMLSchemaValidator.ValueStoreBase getValueStoreFor(IdentityConstraint id,
                                                              int initialDepth)

Returns the value store associated to the specified IdentityConstraint.

#### getGlobalValueStoreFor

    public XMLSchemaValidator.ValueStoreBase getGlobalValueStoreFor(IdentityConstraint id)

Returns the global value store associated to the specified IdentityConstraint.

#### transplant

    public void transplant(IdentityConstraint id,
                           int initialDepth)

#### endDocument

    public void endDocument()

Check identity constraints.

#### toString

    public java.lang.String toString()

Returns a string representation of this object.

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