org.apache.manifoldcf.agents.interfaces
Class OutputConnectorFactory

java.lang.Object
  extended by org.apache.manifoldcf.agents.interfaces.OutputConnectorFactory

public class OutputConnectorFactory
extends java.lang.Object

This is the factory class for IOutputConnector objects.


Nested Class Summary
static class OutputConnectorFactory.Pool
          This class represents a value in the pool hash, which corresponds to a given key.
static class OutputConnectorFactory.PoolKey
          This is an immutable pool key class, which describes a pool in terms of two independent keys.
 
Field Summary
static java.lang.String _rcsid
           
protected static java.util.Map poolHash
           
 
Method Summary
static void closeAllConnectors(IThreadContext threadContext)
          Clean up all open output connector handles.
static void deinstall(IThreadContext threadContext, java.lang.String className)
          Uninstall connector.
static java.lang.String[] getActivitiesList(IThreadContext threadContext, java.lang.String className)
          Get the activities supported by this connector.
protected static IOutputConnector getConnector(IThreadContext threadContext, java.lang.String className)
          Get an output connector instance.
static IOutputConnector getConnectorNoCheck(java.lang.String className)
          Get an output connector instance, without checking for installed connector.
static IOutputConnector grab(IThreadContext threadContext, java.lang.String className, ConfigParams configInfo, int maxPoolSize)
          Get an output connector.
static IOutputConnector[] grabMultiple(IThreadContext threadContext, java.lang.String[] orderingKeys, java.lang.String[] classNames, ConfigParams[] configInfos, int[] maxPoolSizes)
          Get multiple output connectors, all at once.
static void install(IThreadContext threadContext, java.lang.String className)
          Install connector.
static void outputConfigurationBody(IThreadContext threadContext, java.lang.String className, IHTTPOutput out, ConfigParams parameters, java.lang.String tabName)
          Output the configuration body section.
static void outputConfigurationHeader(IThreadContext threadContext, java.lang.String className, IHTTPOutput out, ConfigParams parameters, java.util.ArrayList tabsArray)
          Output the configuration header section.
static void pollAllConnectors(IThreadContext threadContext)
          Idle notification for inactive output connector handles.
static java.lang.String processConfigurationPost(IThreadContext threadContext, java.lang.String className, IPostParameters variableContext, ConfigParams configParams)
          Process configuration post data for a connector.
static void release(IOutputConnector connector)
          Release an output connector.
static void releaseMultiple(IOutputConnector[] connectors)
          Release multiple output connectors.
static void viewConfiguration(IThreadContext threadContext, java.lang.String className, IHTTPOutput out, ConfigParams configParams)
          View connector configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_rcsid

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

poolHash

protected static java.util.Map poolHash
Method Detail

install

public static void install(IThreadContext threadContext,
                           java.lang.String className)
                    throws ManifoldCFException
Install connector.

Parameters:
className - is the class name.
Throws:
ManifoldCFException

deinstall

public static void deinstall(IThreadContext threadContext,
                             java.lang.String className)
                      throws ManifoldCFException
Uninstall connector.

Parameters:
className - is the class name.
Throws:
ManifoldCFException

getActivitiesList

public static java.lang.String[] getActivitiesList(IThreadContext threadContext,
                                                   java.lang.String className)
                                            throws ManifoldCFException
Get the activities supported by this connector.

Parameters:
className - is the class name.
Returns:
the list of activities.
Throws:
ManifoldCFException

outputConfigurationHeader

public static void outputConfigurationHeader(IThreadContext threadContext,
                                             java.lang.String className,
                                             IHTTPOutput out,
                                             ConfigParams parameters,
                                             java.util.ArrayList tabsArray)
                                      throws ManifoldCFException,
                                             java.io.IOException
Output the configuration header section.

Throws:
ManifoldCFException
java.io.IOException

outputConfigurationBody

public static void outputConfigurationBody(IThreadContext threadContext,
                                           java.lang.String className,
                                           IHTTPOutput out,
                                           ConfigParams parameters,
                                           java.lang.String tabName)
                                    throws ManifoldCFException,
                                           java.io.IOException
Output the configuration body section.

Throws:
ManifoldCFException
java.io.IOException

processConfigurationPost

public static java.lang.String processConfigurationPost(IThreadContext threadContext,
                                                        java.lang.String className,
                                                        IPostParameters variableContext,
                                                        ConfigParams configParams)
                                                 throws ManifoldCFException
Process configuration post data for a connector.

Throws:
ManifoldCFException

viewConfiguration

public static void viewConfiguration(IThreadContext threadContext,
                                     java.lang.String className,
                                     IHTTPOutput out,
                                     ConfigParams configParams)
                              throws ManifoldCFException,
                                     java.io.IOException
View connector configuration.

Throws:
ManifoldCFException
java.io.IOException

getConnectorNoCheck

public static IOutputConnector getConnectorNoCheck(java.lang.String className)
                                            throws ManifoldCFException
Get an output connector instance, without checking for installed connector.

Parameters:
className - is the class name.
Returns:
the instance.
Throws:
ManifoldCFException

getConnector

protected static IOutputConnector getConnector(IThreadContext threadContext,
                                               java.lang.String className)
                                        throws ManifoldCFException
Get an output connector instance.

Parameters:
className - is the class name.
Returns:
the instance.
Throws:
ManifoldCFException

grabMultiple

public static IOutputConnector[] grabMultiple(IThreadContext threadContext,
                                              java.lang.String[] orderingKeys,
                                              java.lang.String[] classNames,
                                              ConfigParams[] configInfos,
                                              int[] maxPoolSizes)
                                       throws ManifoldCFException
Get multiple output connectors, all at once. Do this in a particular order so that any connector exhaustion will not cause a deadlock.

Throws:
ManifoldCFException

grab

public static IOutputConnector grab(IThreadContext threadContext,
                                    java.lang.String className,
                                    ConfigParams configInfo,
                                    int maxPoolSize)
                             throws ManifoldCFException
Get an output connector. The connector is specified by its class and its parameters.

Parameters:
threadContext - is the current thread context.
className - is the name of the class to get a connector for.
configInfo - are the name/value pairs constituting configuration info for this class.
Throws:
ManifoldCFException

releaseMultiple

public static void releaseMultiple(IOutputConnector[] connectors)
                            throws ManifoldCFException
Release multiple output connectors.

Throws:
ManifoldCFException

release

public static void release(IOutputConnector connector)
                    throws ManifoldCFException
Release an output connector.

Parameters:
connector - is the connector to release.
Throws:
ManifoldCFException

pollAllConnectors

public static void pollAllConnectors(IThreadContext threadContext)
                              throws ManifoldCFException
Idle notification for inactive output connector handles. This method polls all inactive handles.

Throws:
ManifoldCFException

closeAllConnectors

public static void closeAllConnectors(IThreadContext threadContext)
                               throws ManifoldCFException
Clean up all open output connector handles. This method is called when the connector pool needs to be flushed, to free resources.

Parameters:
threadContext - is the local thread context.
Throws:
ManifoldCFException