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

All Known Implementing Classes:
ConnectorFactoryIcfImpl

public interface ConnectorFactory

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

Field Summary
static java.lang.String OPERATION_LIST_CONNECTOR
           
 
Method Summary
 ConnectorInstance createConnectorInstance(ConnectorType connectorType, java.lang.String namespace)
          Creates new unconfigured instance of the connector.
 java.util.Set<ConnectorType> listConnectors(ConnectorHostType host, OperationResult parentRestul)
          Returns a list of all known connectors.
 

Field Detail

OPERATION_LIST_CONNECTOR

static final java.lang.String OPERATION_LIST_CONNECTOR
Method Detail

createConnectorInstance

ConnectorInstance createConnectorInstance(ConnectorType connectorType,
                                          java.lang.String namespace)
                                          throws ObjectNotFoundException
Creates new unconfigured instance of the connector. 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 error handling

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(ConnectorHostType host,
                                            OperationResult parentRestul)
                                            throws CommunicationException
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.

Parameters:
host - definition of a connector host or null for local connector list
Returns:
list of all known connectors.
Throws:
CommunicationException


Copyright © 2012 evolveum. All Rights Reserved.