Package net.shibboleth.idp.attribute.resolver

# Interface DataConnector

All Superinterfaces:
  `Component`, `DestructableComponent`, `IdentifiedComponent`, `InitializableComponent`, `ResolverPlugin<Map<String,IdPAttribute>>`, `UnmodifiableComponent`

All Known Implementing Classes:
  `AbstractDataConnector`, `AbstractSearchDataConnector`, `ContextDerivedDataConnector`, `EntityAttributesDataConnector`, `HTTPDataConnector`, `LDAPDataConnector`, `MockDataConnector`, `MockStaticDataConnector`, `PairwiseIdDataConnector`, `RDBMSDataConnector`, `ResolvedDataConnector`, `SAMLAttributeDataConnector`, `SAMLDataConnector`, `ScriptedDataConnector`, `SimpleAggregationSAMLDataConnector`, `StaticDataConnector`, `StorageServiceDataConnector`, `TestSources.StaticDataConnector`

@ThreadSafe public interface DataConnector extends ResolverPlugin<Map<String,IdPAttribute>>
Base class for data connector resolver plugins.

## Method Summary

Modifier and Type
Method
Description
`Collection<String>`
`getExportAttributes()`
Gets the list of attribute names to export during resolution.
`String`
`getFailoverDataConnectorId()`
Gets the ID of the `DataConnector` whose values will be used in the event that this data connector experiences an error.
`Instant`
`getLastFail()`
Get the time when this connector last failed.
`Instant`
`getLastSuccess()`
Get the time when this connector last succeeded.
`Duration`
`getNoRetryDelay()`
Get how long to wait until we declare the connector (potentially) alive again.

### Methods inherited from interface net.shibboleth.shared.component.DestructableComponent

`destroy, isDestroyed`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

### Methods inherited from interface net.shibboleth.idp.attribute.resolver.ResolverPlugin

`getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, isPropagateResolutionExceptions, resolve`

## Method Details

### getNoRetryDelay

@Nonnull Duration getNoRetryDelay()
Get how long to wait until we declare the connector (potentially) alive again.

Returns:
  how long to wait.

### getLastSuccess

@Nullable Instant getLastSuccess()
Get the time when this connector last succeeded. TODO: Remove default in V5.

Returns:
  when it last succeeded
Since:
  4.1.0

### getLastFail

@Nullable Instant getLastFail()
Get the time when this connector last failed. This will be set for any exception regardless of the setting of `ResolverPlugin.isPropagateResolutionExceptions()`

Returns:
  when it last failed

### getFailoverDataConnectorId

@Nullable String getFailoverDataConnectorId()
Gets the ID of the `DataConnector` whose values will be used in the event that this data connector experiences an error.

Returns:
  ID of the `DataConnector` whose values will be used in the event that this data connector experiences an error

### getExportAttributes

@Nonnull @Unmodifiable @NotLive Collection<String> getExportAttributes()
Gets the list of attribute names to export during resolution.

Returns:
  the list of attribute names to export during resolution