Package net.shibboleth.idp.attribute

# Interface DurablePairwiseIdStore

All Superinterfaces:
  `PairwiseIdStore`

All Known Implementing Classes:
  `JDBCPairwiseIdStore`

public interface DurablePairwiseIdStore extends PairwiseIdStore
Extended `PairwiseIdStore` interface that supports reversal, mutation, and deactivation features requiring durable storage.

Since:
  4.0.0

## Method Summary

Modifier and Type
Method
Description
`void`
`attach(PairwiseId pid)`
Attach a peer-supplied alias to a pairwise ID.
`void`
`deactivate(PairwiseId pid)`
Deactivate/revoke a pairwise ID.
`PairwiseId`
`getByIssuedValue(PairwiseId pid)`
Populate the underlying principal/source fields for the input object based on the supplied values.

### Methods inherited from interface net.shibboleth.idp.attribute.PairwiseIdStore

`getBySourceValue`

## Method Details

### getByIssuedValue

@Nullable PairwiseId getByIssuedValue(@Nonnull PairwiseId pid) throws IOException
Populate the underlying principal/source fields for the input object based on the supplied values.

The input object must contain values for issuer and recipient entityIDs and the pairwiseId itself, and the rest of the fields will be populated as applicable on output.

The object returned, if non-null, will at least contain the principal name and source system ID. It may be, but does not have to be, the same physical object used as input. The original input object should not be referenced further.

Parameters:
  `pid` - object to populate
Returns:
  object for the given inputs or null if none exists
Throws:
  `IOException` - if an error occurs accessing the store

### deactivate

void deactivate(@Nonnull PairwiseId pid) throws IOException
Deactivate/revoke a pairwise ID.

If the object's deactivation time field is null, then the current time is used.

Parameters:
  `pid` - the object to deactivate/revoke
Throws:
  `IOException` - if there is an error updating the store

### attach

void attach(@Nonnull PairwiseId pid) throws IOException
Attach a peer-supplied alias to a pairwise ID.

Parameters:
  `pid` - the object to update in storage
Throws:
  `IOException` - if there is an error updating the store