edu.sdsc.grid.io.irods
Class IRODSMetaDataRecordList

java.lang.Object
  extended by edu.sdsc.grid.io.MetaDataRecordList
      extended by edu.sdsc.grid.io.irods.IRODSMetaDataRecordList

public class IRODSMetaDataRecordList
extends MetaDataRecordList

Results of long queries will only return a partial list to save on bandwidth which can be iterated through by further calls to the server.

IRODSMetaDataRecordList works closely with the file server to do a multi-step query that does not have to return everything immediately. This class, for instance, works with partial query results and, on need, issues a query for the next batch of results. If some of the results are never asked for, they are never retreived. To the caller, some requests for a record are immediate while others pause while the partial query is sent.


Field Summary
 
Fields inherited from class edu.sdsc.grid.io.MetaDataRecordList
fields, records
 
Constructor Summary
IRODSMetaDataRecordList(MetaDataField field, float recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
IRODSMetaDataRecordList(MetaDataField field, java.lang.Float recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
IRODSMetaDataRecordList(MetaDataField field, int recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
IRODSMetaDataRecordList(MetaDataField field, java.lang.Integer recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
IRODSMetaDataRecordList(MetaDataField field, java.lang.String recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
 
Method Summary
protected  void finalize()
          Finalizes the object by explicitly letting go of each of its internally held values.
 MetaDataRecordList[] getMoreResults()
          Gets further results from the query.
 MetaDataRecordList[] getMoreResults(int numOfResults)
          Gets further results from the query.
 boolean isQueryComplete()
          Tests if this IRODSMetaDataRecordList can return more values from the query.
 
Methods inherited from class edu.sdsc.grid.io.MetaDataRecordList
addRecord, addRecord, addRecord, addRecord, addRecord, equals, getAllResults, getField, getFieldCount, getFieldIndex, getFieldName, getFields, getFieldType, getFloatValue, getIntValue, getRecordCount, getStringValue, getTableValue, getValue, getValue, getValue, removeRecord, removeRecord, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, toString
 
Methods inherited from class java.lang.Object
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IRODSMetaDataRecordList

public IRODSMetaDataRecordList(MetaDataField field,
                               int recordValue)
Create a new MetaDataRecordList with this field and recordValue.


IRODSMetaDataRecordList

public IRODSMetaDataRecordList(MetaDataField field,
                               float recordValue)
Create a new MetaDataRecordList with this field and recordValue.


IRODSMetaDataRecordList

public IRODSMetaDataRecordList(MetaDataField field,
                               java.lang.Integer recordValue)
Create a new MetaDataRecordList with this field and recordValue.


IRODSMetaDataRecordList

public IRODSMetaDataRecordList(MetaDataField field,
                               java.lang.Float recordValue)
Create a new MetaDataRecordList with this field and recordValue.


IRODSMetaDataRecordList

public IRODSMetaDataRecordList(MetaDataField field,
                               java.lang.String recordValue)
Create a new MetaDataRecordList with this field and recordValue.

Method Detail

finalize

protected void finalize()
Finalizes the object by explicitly letting go of each of its internally held values.

Overrides:
finalize in class MetaDataRecordList

isQueryComplete

public boolean isQueryComplete()
Tests if this IRODSMetaDataRecordList can return more values from the query.

Specified by:
isQueryComplete in class MetaDataRecordList

getMoreResults

public MetaDataRecordList[] getMoreResults()
                                    throws java.io.IOException
Gets further results from the query. If and only if the query returned a partial list and there are more results which matched the query that haven't been returned. Otherwise null. By default a query will only return 300 values at a time which match the query, see also IRODSFileSystem.DEFAULT_RECORDS_WANTED.

Specified by:
getMoreResults in class MetaDataRecordList
Throws:
java.io.IOException - If an IOException occurs.

getMoreResults

public MetaDataRecordList[] getMoreResults(int numOfResults)
                                    throws java.io.IOException
Gets further results from the query. If and only if the query returned a partial list and there are more results which matched the query that haven't been returned. Otherwise null.

Specified by:
getMoreResults in class MetaDataRecordList
Throws:
java.io.IOException - If an IOException occurs.