org.apache.manifoldcf.agents.interfaces
Interface IAgent

All Known Implementing Classes:
CrawlerAgent

public interface IAgent

This interface describes the external functionality of an agent class. Agents are all poked at start-up time; they run independently until the JVM is shut down. All agent classes are expected to support the following constructor: xxx(IThreadContext tc) throws ManifoldCFException


Field Summary
static java.lang.String _rcsid
           
 
Method Summary
 void deinstall()
          Uninstall agent.
 void install()
          Install agent.
 boolean isOutputConnectionInUse(java.lang.String connName)
          Request permission from agent to delete an output connection.
 void noteOutputConnectionChange(java.lang.String connectionName)
          Note a change in configuration for an output connection.
 void noteOutputConnectorDeregistration(java.lang.String[] connectionNames)
          Note the deregistration of a set of output connections.
 void noteOutputConnectorRegistration(java.lang.String[] connectionNames)
          Note the registration of a set of output connections.
 void startAgent()
          Start the agent.
 void stopAgent()
          Stop the agent.
 

Field Detail

_rcsid

static final java.lang.String _rcsid
See Also:
Constant Field Values
Method Detail

install

void install()
             throws ManifoldCFException
Install agent. This usually installs the agent's database tables etc.

Throws:
ManifoldCFException

deinstall

void deinstall()
               throws ManifoldCFException
Uninstall agent. This must clean up everything the agent is responsible for.

Throws:
ManifoldCFException

startAgent

void startAgent()
                throws ManifoldCFException
Start the agent. This method should spin up the agent threads, and then return.

Throws:
ManifoldCFException

stopAgent

void stopAgent()
               throws ManifoldCFException
Stop the agent. This should shut down the agent threads.

Throws:
ManifoldCFException

isOutputConnectionInUse

boolean isOutputConnectionInUse(java.lang.String connName)
                                throws ManifoldCFException
Request permission from agent to delete an output connection.

Parameters:
connName - is the name of the output connection.
Returns:
true if the connection is in use, false otherwise.
Throws:
ManifoldCFException

noteOutputConnectorDeregistration

void noteOutputConnectorDeregistration(java.lang.String[] connectionNames)
                                       throws ManifoldCFException
Note the deregistration of a set of output connections.

Parameters:
connectionNames - are the names of the connections being deregistered.
Throws:
ManifoldCFException

noteOutputConnectorRegistration

void noteOutputConnectorRegistration(java.lang.String[] connectionNames)
                                     throws ManifoldCFException
Note the registration of a set of output connections.

Parameters:
connectionNames - are the names of the connections being registered.
Throws:
ManifoldCFException

noteOutputConnectionChange

void noteOutputConnectionChange(java.lang.String connectionName)
                                throws ManifoldCFException
Note a change in configuration for an output connection.

Parameters:
connectionName - is the name of the connection being changed.
Throws:
ManifoldCFException