ICF 1.5.20.26

Generic exception rules

The generic exception rules are common to all API- or SPI-level operations and are described in the following sections.

Framework (API-level) exception rules

IllegalArgumentException or NullPointerException

Thrown when the ObjectClass is null or the name is blank.

OperationTimeoutException

Thrown when the operation timed out.

ConnectionFailedException

Thrown if any problem occurs with the connector server connection.

UnsupportedOperationException

Thrown if the connector does not implement the required interface.

ConnectorIOException

Thrown if the connector failed to initialize a remote connection due to a SocketException.

ConnectorException

Thrown in the following situations:

  • The connector failed to initiate the remote connection due to a SocketException.

  • An unexpected request was sent to the remote connector server.

  • An unexpected response was received from the remote connector server.

InvalidCredentialException

Thrown if the remote framework key is invalid.

The following exceptions are thrown specifically in the context of a poolable connector.

ConnectorException

Thrown if the pool has no available connectors after the maxWait time has elapsed.

IllegalStateException

Thrown if the object pool has already shut down.

Connector (SPI Level) Exception Rules

InvalidAttributeValueException

Thrown when single-valued attribute has multiple values.

IllegalArgumentException

Thrown when the value of the __PASSWORD__ or the __CURRENT_PASSWORD__ attribute is not a GuardedString.

IllegalStateException

Thrown when the Attribute name is blank.

PermissionDeniedException

Thrown when the target resource will not allow a specific operation to be performed. An instance of the PermissionDeniedException generally describes a native error that is returned by (or wraps a native exception that is thrown by) the target resource.

ConnectorIOException, ConnectionBrokenException, ConnectionFailedException

Thrown when any problem occurs with the connection to the target resource.

PreconditionFailedException

Thrown when the current version of the resource object does not match the version provided by the connector.

PreconditionRequiredException

Thrown when a resource object requires a version, but no version was supplied in the getRevision operation.