Package org.opensaml.saml.metadata.resolver.index.impl

# Class MetadataIndexStore<T>

java.lang.Object
org.opensaml.saml.metadata.resolver.index.impl.MetadataIndexStore<T>

Type Parameters:
  `T` - the type of data being indexed

public class MetadataIndexStore<T> extends Object
Component which stores indexed instances of a particular type of data, for example `EntityDescriptor`, under one or more instances of `MetadataIndexKey`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final Map<MetadataIndexKey,Set<T>>`
`index`
The indexed storage of data.

## Constructor Summary

Constructors
Constructor
Description
`MetadataIndexStore()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(MetadataIndexKey key, T item)`
Add the supplied data item to the index under the supplied `MetadataIndexKey`.
`void`
`clear()`
Clear all indexed data items from the store.
`void`
`clear(MetadataIndexKey key)`
Clear all data items indexed under the supplied `MetadataIndexKey`.
`Set<MetadataIndexKey>`
`getKeys()`
Get the set of all `MetadataIndexKey` instances currently indexed.
`Set<T>`
`lookup(MetadataIndexKey key)`
Lookup the instances of data indexed under the supplied `MetadataIndexKey`.
`void`
`remove(MetadataIndexKey key, T item)`
Remove the supplied data item from the index under the supplied `MetadataIndexKey`.

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

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

## Field Details

### index

@Nonnull private final Map<MetadataIndexKey,Set<T>> index
The indexed storage of data.

## Constructor Details

### MetadataIndexStore

public MetadataIndexStore()
Constructor.

## Method Details

### getKeys

@Nonnull @Unmodifiable @NotLive public Set<MetadataIndexKey> getKeys()
Get the set of all `MetadataIndexKey` instances currently indexed.

Returns:
  the set of all currently indexed keys

### lookup

@Nonnull @Unmodifiable @NotLive public Set<T> lookup(@Nonnull MetadataIndexKey key)
Lookup the instances of data indexed under the supplied `MetadataIndexKey`.

Parameters:
  `key` - the index key to lookup
Returns:
  the set of data items indexed under that key

### add

public void add(@Nonnull MetadataIndexKey key, @Nonnull T item)
Add the supplied data item to the index under the supplied `MetadataIndexKey`.

Parameters:
  `key` - the index key
  `item` - the data item to index

### remove

public void remove(@Nonnull MetadataIndexKey key, @Nonnull T item)
Remove the supplied data item from the index under the supplied `MetadataIndexKey`.

Parameters:
  `key` - the index key
  `item` - the data item to index

### clear

public void clear(@Nonnull MetadataIndexKey key)
Clear all data items indexed under the supplied `MetadataIndexKey`.

Parameters:
  `key` - the index key

### clear

public void clear()
Clear all indexed data items from the store.