Class ConnectorProviderBase
- java.lang.Object
-
- org.odpi.openmetadata.frameworks.connectors.ConnectorProvider
-
- org.odpi.openmetadata.frameworks.connectors.ConnectorProviderBase
-
- All Implemented Interfaces:
AuditLoggingComponent
public abstract class ConnectorProviderBase extends ConnectorProvider implements AuditLoggingComponent
ConnectorProviderBase is a base class for a connector provider. It manages all of the class loading for subclass implementations of the connector provider along with the generation of new connector guids. ConnectorProviderBase creates a connector instance with the class name from the private variable called connectorClassName. This class name is initialized to null. If the getConnector method is called when the connectorClassName is null, it throws ConnectorCheckedException. This is its default behaviour. To use the ConnectorProviderBase, create a new class that extends the ConnectorProviderBase class and in the constructor call super.setConnectorClassName("your connector's class name");
-
-
Field Summary
Fields Modifier and Type Field Description protected AuditLogauditLogprotected ConnectorTypeconnectorTypeBean
-
Constructor Summary
Constructors Constructor Description ConnectorProviderBase()Typical constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object object)Provide a common implementation of equals for all OCF Connector Provider objects.ConnectorgetConnector(Connection connection)Creates a new instance of a connector using the name of the connector provider in the supplied connection.ConnectorgetConnector(ConnectionProperties connection)Creates a new instance of a connector based on the information in the supplied connection.StringgetConnectorClassName()Return the class name for the connector that the connector provider generates.ConnectorTypegetConnectorType()Returns the properties about the type of connector that this ConnectorTypeManager supports.ConnectorTypePropertiesgetConnectorTypeProperties()Returns the properties about the type of connector that this Connector Provider supports.protected StringgetNewConnectorGUID()Each connector has a guid to make it easier to correlate log messages from the various components that serve it.inthashCode()Provide a common implementation of hashCode for all OCF Connector Provider objects.voidsetAuditLog(AuditLog auditLog)Receive an audit log object that can be used to record audit log messages.protected voidsetConnectorClassName(String newConnectorClassName)Update the class name for this connector provider.protected voidsetConnectorComponentDescription(ComponentDescription connectorComponentDescription)Update the component name to use in the creation of the connector's audit log.protected voidsetConnectorTypeProperties(ConnectorType connectorTypeBean)Setter method to enable a subclass to set up the connector type properties that are added to a connection properties object.StringtoString()Standard toString method.
-
-
-
Field Detail
-
auditLog
protected AuditLog auditLog
-
connectorTypeBean
protected ConnectorType connectorTypeBean
-
-
Method Detail
-
getNewConnectorGUID
protected String getNewConnectorGUID()
Each connector has a guid to make it easier to correlate log messages from the various components that serve it. It uses a type 4 (pseudo randomly generated) UUID. The UUID is generated using a cryptographically strong pseudo random number generator.- Returns:
- guid for a new connector instance
-
getConnectorClassName
public String getConnectorClassName()
Return the class name for the connector that the connector provider generates.- Returns:
- connectorClassName will be null initially.
-
setConnectorClassName
protected void setConnectorClassName(String newConnectorClassName)
Update the class name for this connector provider.- Parameters:
newConnectorClassName- this must be a valid Java class name for a class that implements the org.odpi.openmetadata.Connector interface.
-
setConnectorComponentDescription
protected void setConnectorComponentDescription(ComponentDescription connectorComponentDescription)
Update the component name to use in the creation of the connector's audit log.- Parameters:
connectorComponentDescription- component description.
-
setAuditLog
public void setAuditLog(AuditLog auditLog)
Receive an audit log object that can be used to record audit log messages. The caller has initialized it with the correct component description and log destinations.- Specified by:
setAuditLogin interfaceAuditLoggingComponent- Parameters:
auditLog- audit log object
-
getConnectorTypeProperties
public ConnectorTypeProperties getConnectorTypeProperties()
Returns the properties about the type of connector that this Connector Provider supports.- Specified by:
getConnectorTypePropertiesin classConnectorProvider- Returns:
- properties including the name of the connector type, the connector provider class and any specific connection properties that are recognized by this connector.
-
getConnectorType
public ConnectorType getConnectorType()
Returns the properties about the type of connector that this ConnectorTypeManager supports.- Specified by:
getConnectorTypein classConnectorProvider- Returns:
- properties including the name of the connector type, the connector provider class and any specific connection properties that are recognized by this connector.
-
setConnectorTypeProperties
protected void setConnectorTypeProperties(ConnectorType connectorTypeBean)
Setter method to enable a subclass to set up the connector type properties that are added to a connection properties object. The connector type properties guide the ConnectorBroker and ConnectorProvider on how to create and configure a Connector instance.- Parameters:
connectorTypeBean- default properties for this type of connector
-
getConnector
public Connector getConnector(Connection connection) throws ConnectionCheckedException, ConnectorCheckedException
Creates a new instance of a connector using the name of the connector provider in the supplied connection.- Specified by:
getConnectorin classConnectorProvider- Parameters:
connection- properties for the connector and connector provider.- Returns:
- new connector instance.
- Throws:
ConnectionCheckedException- an error with the connection.ConnectorCheckedException- an error initializing the connector.
-
getConnector
public Connector getConnector(ConnectionProperties connection) throws ConnectionCheckedException, ConnectorCheckedException
Creates a new instance of a connector based on the information in the supplied connection.- Specified by:
getConnectorin classConnectorProvider- Parameters:
connection- connection that should have all of the properties needed by the Connector Provider to create a connector instance.- Returns:
- Connector instance of the connector.
- Throws:
ConnectionCheckedException- if there are missing or invalid properties in the connectionConnectorCheckedException- if there are issues instantiating or initializing the connector
-
hashCode
public int hashCode()
Provide a common implementation of hashCode for all OCF Connector Provider objects. The UUID is unique and is randomly assigned and so its hashCode is as good as anything to describe the hash code of the properties object.
-
equals
public boolean equals(Object object)
Provide a common implementation of equals for all OCF Connector Provider objects. The UUID is unique and is randomly assigned and so its hashCode is as good as anything to evaluate the equality of the connector provider object.
-
-