edu.sdsc.grid.io.srb
Class SRBMetaDataRecordList

java.lang.Object
  extended by edu.sdsc.grid.io.MetaDataRecordList
      extended by edu.sdsc.grid.io.srb.SRBMetaDataRecordList

public class SRBMetaDataRecordList
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.

SRBMetaDataRecordList 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
SRBMetaDataRecordList(MetaDataField field, float recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
SRBMetaDataRecordList(MetaDataField field, java.lang.Float recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
SRBMetaDataRecordList(MetaDataField field, int recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
SRBMetaDataRecordList(MetaDataField field, java.lang.Integer recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
SRBMetaDataRecordList(MetaDataField field, MetaDataTable recordValue)
          Create a new MetaDataRecordList with this field and recordValue.
SRBMetaDataRecordList(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 SRBMetaDataRecordList 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

SRBMetaDataRecordList

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


SRBMetaDataRecordList

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


SRBMetaDataRecordList

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


SRBMetaDataRecordList

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


SRBMetaDataRecordList

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


SRBMetaDataRecordList

public SRBMetaDataRecordList(MetaDataField field,
                             MetaDataTable 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 SRBMetaDataRecordList 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 SRBFileSystem.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.