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).
    • 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