org.apache.manifoldcf.crawler.repository
Class ThrottleSpecManager

java.lang.Object
  extended by org.apache.manifoldcf.core.database.BaseTable
      extended by org.apache.manifoldcf.crawler.repository.ThrottleSpecManager

public class ThrottleSpecManager
extends BaseTable

This class manages the "throttlespec" table, which contains the throttle specifications for each connection. These are basically tuples consisting of a regexp and a fetch rate. There's a description of each tuple, so that a person can attach a description of what they are attempting to do with each limit.


Field Summary
static java.lang.String _rcsid
           
static java.lang.String descriptionField
           
static java.lang.String matchField
           
static java.lang.String ownerNameField
           
static java.lang.String throttleField
           
 
Fields inherited from class org.apache.manifoldcf.core.database.BaseTable
dbInterface, tableName
 
Constructor Summary
ThrottleSpecManager(IDBInterface database)
          Constructor.
 
Method Summary
 void deinstall()
          Uninstall.
 void deleteRows(java.lang.String owner)
          Delete rows.
 void getRows(IRepositoryConnection[] connections, java.util.Map indexMap, java.lang.String ownerNameList, java.util.ArrayList ownerNameParams)
          Fill in a set of throttles corresponding to a set of connection names.
 void install(java.lang.String ownerTable, java.lang.String owningTablePrimaryKey)
          Install or upgrade.
 IResultSet readRows(java.lang.String name)
          Read rows for a given owner name.
 void writeRows(java.lang.String owner, IRepositoryConnection connection)
          Write a throttle spec into the database.
 
Methods inherited from class org.apache.manifoldcf.core.database.BaseTable
addTableIndex, analyzeTable, beginTransaction, constructDistinctOnClause, constructOffsetLimitClause, constructRegexpClause, constructSubstringClause, endTransaction, getDatabaseCacheKey, getDBInterface, getMaxInClause, getMaxOrClause, getTableIndexes, getTableName, getTableSchema, getTransactionID, makeTableKey, noteModifications, performAddIndex, performAlter, performCreate, performDelete, performDrop, performInsert, performLock, performModification, performQuery, performQuery, performRemoveIndex, performUpdate, prepareRowForSave, readRow, reindexTable, signalRollback
 
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

ownerNameField

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

descriptionField

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

matchField

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

throttleField

public static final java.lang.String throttleField
See Also:
Constant Field Values
Constructor Detail

ThrottleSpecManager

public ThrottleSpecManager(IDBInterface database)
                    throws ManifoldCFException
Constructor.

Parameters:
database - is the database instance.
Throws:
ManifoldCFException
Method Detail

install

public void install(java.lang.String ownerTable,
                    java.lang.String owningTablePrimaryKey)
             throws ManifoldCFException
Install or upgrade.

Parameters:
ownerTable - is the name of the table that owns this one.
owningTablePrimaryKey - is the primary key of the owning table.
Throws:
ManifoldCFException

deinstall

public void deinstall()
               throws ManifoldCFException
Uninstall.

Throws:
ManifoldCFException

readRows

public IResultSet readRows(java.lang.String name)
                    throws ManifoldCFException
Read rows for a given owner name.

Parameters:
name - is the owner name.
Returns:
a list, with columns: "description", "match", and "value".
Throws:
ManifoldCFException

getRows

public void getRows(IRepositoryConnection[] connections,
                    java.util.Map indexMap,
                    java.lang.String ownerNameList,
                    java.util.ArrayList ownerNameParams)
             throws ManifoldCFException
Fill in a set of throttles corresponding to a set of connection names.

Parameters:
connections - is the set of connections to fill in.
indexMap - maps the connection name to the index in the connections array.
ownerNameList - is the list of connection names.
ownerNameParams - is the corresponding set of connection name parameters.
Throws:
ManifoldCFException

writeRows

public void writeRows(java.lang.String owner,
                      IRepositoryConnection connection)
               throws ManifoldCFException
Write a throttle spec into the database.

Parameters:
owner - is the owning connection name.
connection - is the connection to write throttle specs for.
Throws:
ManifoldCFException

deleteRows

public void deleteRows(java.lang.String owner)
                throws ManifoldCFException
Delete rows.

Parameters:
owner - is the owner whose rows to delete.
Throws:
ManifoldCFException