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
OPERATION_LIST_CONNECTOR
static final java.lang.String OPERATION_LIST_CONNECTOR
createConnectorInstance
ConnectorInstance createConnectorInstance(ConnectorType connectorType,
java.lang.String namespace)
throws ObjectNotFoundException,
SchemaException
- 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
SchemaException
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.