com.k_int.IR
Class SearchTask

java.lang.Object
  |
  +--java.util.Observable
        |
        +--com.k_int.IR.SearchTask
Direct Known Subclasses:
DemoSearchTask, HSSSearchTask, Z3950SearchTask

public abstract class SearchTask
extends java.util.Observable


Field Summary
protected  long create_time
           
protected  int max_messages
           
protected  java.util.Vector message_log
           
protected  IRQuery query
           
static int TASK_COMPLETE
           
static int TASK_EXECUTING_ASYNC
           
static int TASK_EXECUTING_SYNC
           
static int TASK_FAILURE
           
protected  java.lang.String task_identifier
           
static int TASK_IDLE
           
protected  int task_status_code
           
protected  java.lang.Object user_data
           
 
Constructor Summary
SearchTask()
           
SearchTask(java.util.Observer[] observers)
           
SearchTask(java.lang.String task_identifier)
           
SearchTask(java.lang.String task_identifier, java.util.Observer[] observers)
           
 
Method Summary
 void addFragmentSourceObserver(java.util.Observer o)
           
 void cancelTask()
          Cancel any active operation, but leave all the searchTask's data intact
 void destroyTask()
          Shut down the task and release any resources, maybe notify our creating searchable
abstract  int evaluate(int timeout)
          Evaluate the query, waiting at most timeout milliseconds, returning the search status.
 java.util.Vector getLastStatusMessages()
          Get the last n status messages.
 int getPrivateTaskStatusCode()
           
 IRQuery getQuery()
           
 java.util.Enumeration getSubtasks()
           
 long getTaskCreationTime()
           
 java.lang.String getTaskIdentifier()
           
abstract  InformationFragmentSource getTaskResultSet()
          getTaskResultSet.
 int getTaskStatusCode()
           
 java.lang.Object getUserData()
           
 boolean hasSubtasks()
           
 void logStatusMessage(java.lang.String s)
          Log a status message.
 java.lang.String lookupPrivateStatusCode(int code)
           
 void setMaxStatusMessageItems(int i)
          Store at most n status messages.
 void setQuery(IRQuery query)
           
 void setTaskStatusCode(int task_status_code)
           
 void setUserData(java.lang.Object o)
           
 void waitForStatus(int status, long timeout)
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TASK_IDLE

public static final int TASK_IDLE

TASK_EXECUTING_SYNC

public static final int TASK_EXECUTING_SYNC

TASK_EXECUTING_ASYNC

public static final int TASK_EXECUTING_ASYNC

TASK_COMPLETE

public static final int TASK_COMPLETE

TASK_FAILURE

public static final int TASK_FAILURE

task_status_code

protected int task_status_code

task_identifier

protected java.lang.String task_identifier

user_data

protected java.lang.Object user_data

query

protected IRQuery query

create_time

protected long create_time

message_log

protected java.util.Vector message_log

max_messages

protected int max_messages
Constructor Detail

SearchTask

public SearchTask()

SearchTask

public SearchTask(java.util.Observer[] observers)

SearchTask

public SearchTask(java.lang.String task_identifier)

SearchTask

public SearchTask(java.lang.String task_identifier,
                  java.util.Observer[] observers)
Method Detail

evaluate

public abstract int evaluate(int timeout)
                      throws TimeoutExceededException,
                             SearchException
Evaluate the query, waiting at most timeout milliseconds, returning the search status. InformationFragmentSource object should be used to check the final number of result records.

addFragmentSourceObserver

public void addFragmentSourceObserver(java.util.Observer o)

getTaskIdentifier

public java.lang.String getTaskIdentifier()

getTaskStatusCode

public int getTaskStatusCode()

setTaskStatusCode

public void setTaskStatusCode(int task_status_code)

waitForStatus

public void waitForStatus(int status,
                          long timeout)

getPrivateTaskStatusCode

public int getPrivateTaskStatusCode()

lookupPrivateStatusCode

public java.lang.String lookupPrivateStatusCode(int code)

hasSubtasks

public boolean hasSubtasks()

getSubtasks

public java.util.Enumeration getSubtasks()

setUserData

public void setUserData(java.lang.Object o)

getUserData

public java.lang.Object getUserData()

cancelTask

public void cancelTask()
Cancel any active operation, but leave all the searchTask's data intact

getTaskResultSet

public abstract InformationFragmentSource getTaskResultSet()
getTaskResultSet. Search tasks delagate the responsibility of managing a result set to an instance of the InformationFragmentSource. Often, the SearchTask will implement InformationFragmentSource itself, and return (this) as the realisation of the getTaskResultSet method. Other SearchTasks may use some cache managing FragmentSource to wrapper the source result set and return that object.

setQuery

public void setQuery(IRQuery query)

getQuery

public IRQuery getQuery()

getLastStatusMessages

public java.util.Vector getLastStatusMessages()
Get the last n status messages.

logStatusMessage

public void logStatusMessage(java.lang.String s)
Log a status message.

setMaxStatusMessageItems

public void setMaxStatusMessageItems(int i)
Store at most n status messages.

getTaskCreationTime

public long getTaskCreationTime()

destroyTask

public void destroyTask()
Shut down the task and release any resources, maybe notify our creating searchable


Copyright © 2001 Knowledge Integration Ltd. All Rights Reserved.