For example, the common code that implements the API:
In order to use the Connector API, an application must first use the {@link org.identityconnectors.framework.api.ConnectorInfoManagerFactory} to load a set of connector bundles. Connector bundles can be loaded {@link org.identityconnectors.framework.api.ConnectorInfoManagerFactory#getLocalManager locally} or {@link org.identityconnectors.framework.api.ConnectorInfoManagerFactory#getRemoteManager remotely}. In either case, the {@link org.identityconnectors.framework.api.ConnectorInfoManager} that is returned allows the application to obtain an instance of {@link org.identityconnectors.framework.api.ConnectorInfo} that describes each of the available connector bundles.
The application then uses the ConnectorInfo
to configure an instance of the connector.
The application {@link org.identityconnectors.framework.api.ConnectorInfo#createDefaultAPIConfiguration obtains the default configuration},
{@link org.identityconnectors.framework.api.APIConfiguration#getConfigurationProperties lists the available configuration properties},
and then {@link org.identityconnectors.framework.api.ConfigurationProperty#setValue sets values for configuration properties}.
Connector configuration properties typically include such target-specific information
such as hostname, port number and the username and password to use in connecting to the target.
The application then passes the APIConfiguration
that it has tailored
into {@link org.identityconnectors.framework.api.ConnectorFacadeFactory#newInstance}
to obtain an instance of {@link org.identityconnectors.framework.api.ConnectorFacade}.
An instance of ConnectorFacade
represents a configured instance of a connector.
Once the application has an instance of ConnectorFacade
, the application can invoke
{@link org.identityconnectors.framework.api.ConnectorFacade#getSupportedOperations any operation that it supports}.
In some cases, a connector facade may support certain operations only for certain object-classes.
Each instance of ConnectorFacade
{@link org.identityconnectors.framework.api.operations.SchemaApiOp#schema describes the object-classes and the operations that it supports}.