org.apache.jackrabbit.core.query
Class AbstractQueryHandler

java.lang.Object
  extended by org.apache.jackrabbit.core.query.AbstractQueryHandler
All Implemented Interfaces:
QueryHandler
Direct Known Subclasses:
SearchIndex

public abstract class AbstractQueryHandler
extends Object
implements QueryHandler

Implements default behaviour for some methods of QueryHandler.


Field Summary
protected  FileSystem fs
          Search index file system, or null
 
Constructor Summary
AbstractQueryHandler()
           
 
Method Summary
 void close()
          Closes this QueryHandler and frees resources attached to this handler.
protected abstract  void doInit()
          This method must be implemented by concrete sub classes and will be called from init(org.apache.jackrabbit.core.fs.FileSystem, org.apache.jackrabbit.core.query.QueryHandlerContext).
 QueryHandlerContext getContext()
          Returns the context for this query handler.
 String getIdleTime()
           
 String getOnWorkspaceInconsistency()
           
 OnWorkspaceInconsistency getOnWorkspaceInconsistencyHandler()
           
 String getQueryClass()
           
 void init(FileSystem fs, QueryHandlerContext context)
          Initializes this query handler by setting all properties in this class with appropriate parameter values.
 void setIdleTime(String idleTime)
          Deprecated. This parameter is not supported any more. Please use 'maxIdleTime' in the repository configuration.
 void setOnWorkspaceInconsistency(String name)
          Sets the OnWorkspaceInconsistency handler with the given name.
 void setQueryClass(String queryClass)
          Sets the name of the query class to use.
 void updateNodes(Iterator<NodeId> remove, Iterator<NodeState> add)
          This default implementation calls the individual #deleteNode(org.apache.jackrabbit.core.NodeId) and QueryHandler.addNode(org.apache.jackrabbit.core.state.NodeState) methods for each entry in the iterators.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jackrabbit.core.query.QueryHandler
addNode, createExecutableQuery, deleteNode, getWeaklyReferringNodes
 

Field Detail

fs

protected FileSystem fs
Search index file system, or null

Constructor Detail

AbstractQueryHandler

public AbstractQueryHandler()
Method Detail

init

public final void init(FileSystem fs,
                       QueryHandlerContext context)
                throws IOException
Initializes this query handler by setting all properties in this class with appropriate parameter values.

Specified by:
init in interface QueryHandler
Parameters:
fs - search index file system, or null
context - the context for this query handler.
Throws:
IOException - if an error occurs during initialization.

close

public void close()
           throws IOException
Description copied from interface: QueryHandler
Closes this QueryHandler and frees resources attached to this handler.

Specified by:
close in interface QueryHandler
Throws:
IOException

doInit

protected abstract void doInit()
                        throws IOException
This method must be implemented by concrete sub classes and will be called from init(org.apache.jackrabbit.core.fs.FileSystem, org.apache.jackrabbit.core.query.QueryHandlerContext).

Throws:
IOException - If an error occurs.

getContext

public QueryHandlerContext getContext()
Returns the context for this query handler.

Specified by:
getContext in interface QueryHandler
Returns:
the QueryHandlerContext instance for this QueryHandler.

updateNodes

public void updateNodes(Iterator<NodeId> remove,
                        Iterator<NodeState> add)
                 throws RepositoryException,
                        IOException
This default implementation calls the individual #deleteNode(org.apache.jackrabbit.core.NodeId) and QueryHandler.addNode(org.apache.jackrabbit.core.state.NodeState) methods for each entry in the iterators. First the nodes to remove are processed then the nodes to add.

Specified by:
updateNodes in interface QueryHandler
Parameters:
remove - uuids of nodes to remove.
add - NodeStates to add.
Throws:
RepositoryException - if an error occurs while indexing a node.
IOException - if an error occurs while updating the index.

getOnWorkspaceInconsistencyHandler

public OnWorkspaceInconsistency getOnWorkspaceInconsistencyHandler()
Returns:
the OnWorkspaceInconsistency handler.

setOnWorkspaceInconsistency

public void setOnWorkspaceInconsistency(String name)
Sets the OnWorkspaceInconsistency handler with the given name. Currently the valid names are:

Parameters:
name - the name of a OnWorkspaceInconsistency handler.

getOnWorkspaceInconsistency

public String getOnWorkspaceInconsistency()
Returns:
the name of the currently set OnWorkspaceInconsistency.

setQueryClass

public void setQueryClass(String queryClass)
Sets the name of the query class to use.

Parameters:
queryClass - the name of the query class to use.

getQueryClass

public String getQueryClass()
Specified by:
getQueryClass in interface QueryHandler
Returns:
the name of the query class to use.

setIdleTime

public void setIdleTime(String idleTime)
Deprecated. This parameter is not supported any more. Please use 'maxIdleTime' in the repository configuration.

Sets the query handler idle time.

Parameters:
idleTime - the query handler idle time.

getIdleTime

public String getIdleTime()
Returns:
the query handler idle time.


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.