Interface IOutputConnector
-
- All Superinterfaces:
IConnector
,IPipelineConnector
- All Known Implementing Classes:
BaseOutputConnector
public interface IOutputConnector extends IPipelineConnector
This interface describes an instance of a connection between an engine that needs to output documents, and an output connector. Each instance of this interface is used in only one thread at a time. Connection Pooling on these kinds of objects is performed by the factory which instantiates connector objects from symbolic names and config parameters, and is pooled by these parameters. That is, a pooled connector handle is used only if all the connection parameters for the handle match. Implementers of this interface should provide a default constructor which has this signature: xxx(); Connector instances are either configured or not. If configured, they will persist in a pool, and be reused multiple times. Certain methods of a connector may be called before the connector is configured. This includes basically all methods that permit inspection of the connector's capabilities. The complete list is: The purpose of the output connector is to allow documents to be sent to their final destination (as far as Connector Framework is concerned).
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
_rcsid
-
Fields inherited from interface org.apache.manifoldcf.agents.interfaces.IPipelineConnector
DOCUMENTSTATUS_ACCEPTED, DOCUMENTSTATUS_REJECTED
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String[]
getActivitiesList()
Return a list of activities that this connector generates.void
noteAllRecordsRemoved()
Notify the connector that all records associated with this connection have been removed.void
noteJobComplete(IOutputNotifyActivity activities)
Notify the connector of a completed job.void
removeDocument(java.lang.String documentURI, java.lang.String outputDescription, IOutputRemoveActivity activities)
Remove a document using the connector.boolean
requestInfo(Configuration output, java.lang.String command)
Request arbitrary connector information.-
Methods inherited from interface org.apache.manifoldcf.core.interfaces.IConnector
check, clearThreadContext, connect, deinstall, disconnect, getConfiguration, install, isConnected, outputConfigurationBody, outputConfigurationHeader, poll, processConfigurationPost, setThreadContext, viewConfiguration
-
Methods inherited from interface org.apache.manifoldcf.agents.interfaces.IPipelineConnector
addOrReplaceDocumentWithException, checkDateIndexable, checkDocumentIndexable, checkLengthIndexable, checkMimeTypeIndexable, checkURLIndexable, getFormCheckJavascriptMethodName, getFormPresaveCheckJavascriptMethodName, getPipelineDescription, outputSpecificationBody, outputSpecificationHeader, processSpecificationPost, viewSpecification
-
-
-
-
Field Detail
-
_rcsid
static final java.lang.String _rcsid
- See Also:
- Constant Field Values
-
-
Method Detail
-
getActivitiesList
java.lang.String[] getActivitiesList()
Return a list of activities that this connector generates. The connector does NOT need to be connected before this method is called.- Returns:
- the set of activities.
-
requestInfo
boolean requestInfo(Configuration output, java.lang.String command) throws ManifoldCFException
Request arbitrary connector information. This method is called directly from the API in order to allow API users to perform any one of several connector-specific queries.- Parameters:
output
- is the response object, to be filled in by this method.command
- is the command, which is taken directly from the API request.- Returns:
- true if the resource is found, false if not. In either case, output may be filled in.
- Throws:
ManifoldCFException
-
removeDocument
void removeDocument(java.lang.String documentURI, java.lang.String outputDescription, IOutputRemoveActivity activities) throws ManifoldCFException, ServiceInterruption
Remove a document using the connector. Note that the last outputDescription is included, since it may be necessary for the connector to use such information to know how to properly remove the document.- Parameters:
documentURI
- is the URI of the document. The URI is presumed to be the unique identifier which the output data store will use to process and serve the document. This URI is constructed by the repository connector which fetches the document, and is thus universal across all output connectors.outputDescription
- is the last description string that was constructed for this document by the getOutputDescription() method above.activities
- is the handle to an object that the implementer of an output connector may use to perform operations, such as logging processing activity.- Throws:
ManifoldCFException
ServiceInterruption
-
noteJobComplete
void noteJobComplete(IOutputNotifyActivity activities) throws ManifoldCFException, ServiceInterruption
Notify the connector of a completed job. This is meant to allow the connector to flush any internal data structures it has been keeping around, or to tell the output repository that this is a good time to synchronize things. It is called whenever a job is either completed or aborted.- Parameters:
activities
- is the handle to an object that the implementer of an output connector may use to perform operations, such as logging processing activity.- Throws:
ManifoldCFException
ServiceInterruption
-
noteAllRecordsRemoved
void noteAllRecordsRemoved() throws ManifoldCFException
Notify the connector that all records associated with this connection have been removed. This method allows the connector to remove any internal data storage that is associated with records sent to the index on behalf of a connection. It should not attempt to communicate with the output index.- Throws:
ManifoldCFException
-
-