org.apache.manifoldcf.crawler.jobs
Class Jobs.JobObjectExecutor

java.lang.Object
  extended by org.apache.manifoldcf.core.cachemanager.ExecutorBase
      extended by org.apache.manifoldcf.crawler.jobs.Jobs.JobObjectExecutor
All Implemented Interfaces:
ICacheExecutor
Enclosing class:
Jobs

protected static class Jobs.JobObjectExecutor
extends ExecutorBase

This is the executor object for locating job objects.


Field Summary
protected  java.util.HashMap returnMap
           
protected  JobDescription[] returnValues
           
protected  Jobs thisManager
           
 
Fields inherited from class org.apache.manifoldcf.core.cachemanager.ExecutorBase
_rcsid
 
Constructor Summary
Jobs.JobObjectExecutor(Jobs manager, Jobs.JobObjectDescription[] objectDescriptions)
          Constructor.
 
Method Summary
 java.lang.Object[] create(ICacheDescription[] objectDescriptions)
          Create a set of new objects to operate on and cache.
 void execute()
          Perform the desired operation.
 void exists(ICacheDescription objectDescription, java.lang.Object cachedObject)
          Notify the implementing class of the existence of a cached version of the object.
 JobDescription[] getResults(boolean[] readOnlies)
          Get the result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

thisManager

protected Jobs thisManager

returnValues

protected JobDescription[] returnValues

returnMap

protected java.util.HashMap returnMap
Constructor Detail

Jobs.JobObjectExecutor

public Jobs.JobObjectExecutor(Jobs manager,
                              Jobs.JobObjectDescription[] objectDescriptions)
Constructor.

Parameters:
manager - is the ToolManager.
objectDescriptions - are the object descriptions.
Method Detail

getResults

public JobDescription[] getResults(boolean[] readOnlies)
Get the result.

Returns:
the looked-up or read cached instances.

create

public java.lang.Object[] create(ICacheDescription[] objectDescriptions)
                          throws ManifoldCFException
Create a set of new objects to operate on and cache. This method is called only if the specified object(s) are NOT available in the cache. The specified objects should be created and returned; if they are not created, it means that the execution cannot proceed, and the execute() method will not be called.

Parameters:
objectDescriptions - is the set of unique identifier of the object.
Returns:
the newly created objects to cache, or null, if any object cannot be created. The order of the returned objects must correspond to the order of the object descriptinos.
Throws:
ManifoldCFException

exists

public void exists(ICacheDescription objectDescription,
                   java.lang.Object cachedObject)
            throws ManifoldCFException
Notify the implementing class of the existence of a cached version of the object. The object is passed to this method so that the execute() method below will have it available to operate on. This method is also called for all objects that are freshly created as well.

Parameters:
objectDescription - is the unique identifier of the object.
cachedObject - is the cached object.
Throws:
ManifoldCFException

execute

public void execute()
             throws ManifoldCFException
Perform the desired operation. This method is called after either createGetObject() or exists() is called for every requested object.

Throws:
ManifoldCFException