com.evolveum.midpoint.provisioning.ucf.api
Interface ConnectorManager

All Known Implementing Classes:
ConnectorManagerIcfImpl

public interface ConnectorManager

Interface to Unified Connector functionality. This is considered the "main" interface of the Unified Connector Framework (UCF) API. It can be used to instantiate connectors which in turn can be used to invoke operations on resources. The UCF interface is considered to be an abstraction internal to the midPoint project and not really reusable. It is using objects from the midPoint data model. But the longer-term ambition is to use this interface as an prototype of ICF replacement, as ICF is burdened by numerous problems. Calls to this interface always try to reach the resource and get the actual state on resource. The connectors are not supposed to cache any information. Therefore the methods do not follow get/set java convention as the data are not regular javabean properties.

Author:
Radovan Semancik

Method Summary
 ConnectorInstance createConnectorInstance(ResourceType resource)
          Creates new instance of the connector.
 ConnectorType getConnector(java.lang.String oid)
          Returns a specific connector by OID.
 java.util.Set<ConnectorType> listConnectors()
          Returns a list of all known connectors.
 

Method Detail

createConnectorInstance

ConnectorInstance createConnectorInstance(ResourceType resource)
                                          throws ObjectNotFoundException
Creates new instance of the connector. Returned connector instance will be configured to the state that it can immediately access the resource. The resource definition is provided as a parameter to this method. This factory is NOT required to cache or pool the connector instances. Call to this method may create new connector instance each time it is called unless an underlying framework is pooling connector instances. May return null if the resource definition cannot be handled by this factory instance. E.g. it does not have configuration or the configuration is meant for a different factory. TODO: Better errror handling TODO throw misconfiguration exception if the configuration is obviously meant for this connector but it cannot be applied.

Parameters:
resource - resource definition
Returns:
configured and initialized connector instance
Throws:
ObjectNotFoundException - is the specified connector was not found

listConnectors

java.util.Set<ConnectorType> listConnectors()
Returns a list of all known connectors. The returned list contains all connectors known to the system, whether they are used or not, whethere they are configured or not. It should be used to list the "capabilities" of the system. Returned connector objects are "virtual". They may not be stored in the persistent repository and they may disappear if the connector disappears from the system. The returned connector objects are immutable.

Returns:
list of all known connectors.

getConnector

ConnectorType getConnector(java.lang.String oid)
Returns a specific connector by OID. Returned connector objects are "virtual". They may not be stored in the persistent repository and they may disappear if the connector disappears from the system. The returned connector objects are immutable.

Parameters:
oid -
Returns:


Copyright © 2011 evolveum. All Rights Reserved.