com.workingdogs.village
Class DataSet

java.lang.Object
  extended by com.workingdogs.village.DataSet
Direct Known Subclasses:
QueryDataSet, TableDataSet

public abstract class DataSet
extends java.lang.Object

The DataSet represents a table in the database. It is extended by QueryDataSet and TableDataSet and should not be used directly. A DataSet contains a Schema and potentially a collection of Records.

Version:
$Revision: 568 $
Author:
Jon S. Stevens

Field Summary
protected static int ALL_RECORDS
          indicates that all records should be retrieved during a fetch
protected  java.sql.Connection conn
          this DataSet's connection object
protected  java.util.Vector records
          this DataSet's collection of Record objects
protected  java.sql.ResultSet resultSet
          the result set for this DataSet
protected  Schema schema
          this DataSet's schema object
protected  java.lang.StringBuffer selectString
          the select string that was used to build this DataSet
protected  java.sql.Statement stmt
          the Statement for this DataSet
 
Constructor Summary
DataSet()
          Private, not used
 
Method Summary
 Record addRecord()
          Calls addRecord(DataSet)
 Record addRecord(DataSet ds)
          Creates a new Record within this DataSet
 boolean allRecordsRetrieved()
          Check if all the records have been retrieve
 DataSet clearRecords()
          Remove all records from the DataSet and nulls those records out and close() the DataSet.
 void close()
          Releases the records, closes the ResultSet and the Statement, and nulls the Schema and Connection references.
 java.sql.Connection connection()
          Gets the current database connection
 boolean containsRecord(int pos)
          Check to see if the DataSet contains a Record at 0 based position
 DataSet fetchRecords()
          Causes the DataSet to hit the database and fetch all the records.
 DataSet fetchRecords(int max)
          Causes the DataSet to hit the database and fetch max records.
 DataSet fetchRecords(int start, int max)
          Causes the DataSet to hit the database and fetch max records, starting at start.
 Record getRecord(int pos)
          Get Record at 0 based index position
abstract  java.lang.String getSelectString()
          Classes extending this class must implement this method.
 KeyDef keydef()
          gets the KeyDef object for this DataSet
 int lastFetchSize()
          The number of records that were fetched with the last fetchRecords.
 DataSet releaseRecords()
          Removes the records from the DataSet, but does not null the records out
 Record removeRecord(Record rec)
          Remove a record from the DataSet's internal storage
 DataSet reset()
          Essentially the same as releaseRecords, but it won't work on a QueryDataSet that has been created with a ResultSet
 java.sql.ResultSet resultSet()
          Gets the ResultSet for this DataSet
 Schema schema()
          Gets the Schema for this DataSet
 int size()
          Gets the number of Records in this DataSet.
 java.lang.String tableName()
          Gets the tableName defined in the schema
 java.lang.String toString()
          This returns a represention of this DataSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ALL_RECORDS

protected static final int ALL_RECORDS
indicates that all records should be retrieved during a fetch

See Also:
Constant Field Values

schema

protected Schema schema
this DataSet's schema object


records

protected java.util.Vector records
this DataSet's collection of Record objects


conn

protected java.sql.Connection conn
this DataSet's connection object


selectString

protected java.lang.StringBuffer selectString
the select string that was used to build this DataSet


resultSet

protected java.sql.ResultSet resultSet
the result set for this DataSet


stmt

protected java.sql.Statement stmt
the Statement for this DataSet

Constructor Detail

DataSet

public DataSet()
        throws DataSetException,
               java.sql.SQLException
Private, not used

Throws:
DataSetException
java.sql.SQLException
Method Detail

resultSet

public java.sql.ResultSet resultSet()
                             throws java.sql.SQLException,
                                    DataSetException
Gets the ResultSet for this DataSet

Returns:
the result set for this DataSet
Throws:
java.sql.SQLException
DataSetException

addRecord

public Record addRecord()
                 throws DataSetException,
                        java.sql.SQLException
Calls addRecord(DataSet)

Returns:
the added record
Throws:
DataSetException
java.sql.SQLException

addRecord

public Record addRecord(DataSet ds)
                 throws DataSetException,
                        java.sql.SQLException
Creates a new Record within this DataSet

Parameters:
ds -
Returns:
the added record
Throws:
DataSetException
java.sql.SQLException

allRecordsRetrieved

public boolean allRecordsRetrieved()
Check if all the records have been retrieve

Returns:
true if all records have been retrieved

removeRecord

public Record removeRecord(Record rec)
                    throws DataSetException
Remove a record from the DataSet's internal storage

Parameters:
rec -
Returns:
the record removed
Throws:
DataSetException

clearRecords

public DataSet clearRecords()
Remove all records from the DataSet and nulls those records out and close() the DataSet.

Returns:
an instance of myself

releaseRecords

public DataSet releaseRecords()
Removes the records from the DataSet, but does not null the records out

Returns:
an instance of myself

close

public void close()
           throws java.sql.SQLException,
                  DataSetException
Releases the records, closes the ResultSet and the Statement, and nulls the Schema and Connection references.

Throws:
java.sql.SQLException
DataSetException

reset

public DataSet reset()
              throws DataSetException,
                     java.sql.SQLException
Essentially the same as releaseRecords, but it won't work on a QueryDataSet that has been created with a ResultSet

Returns:
an instance of myself
Throws:
DataSetException
java.sql.SQLException

connection

public java.sql.Connection connection()
                               throws java.sql.SQLException
Gets the current database connection

Returns:
a database connection
Throws:
java.sql.SQLException

schema

public Schema schema()
Gets the Schema for this DataSet

Returns:
the Schema for this DataSet

getRecord

public Record getRecord(int pos)
                 throws DataSetException
Get Record at 0 based index position

Parameters:
pos -
Returns:
an instance of the found Record
Throws:
DataSetException

containsRecord

public boolean containsRecord(int pos)
Check to see if the DataSet contains a Record at 0 based position

Parameters:
pos -
Returns:
true if record exists

fetchRecords

public DataSet fetchRecords()
                     throws java.sql.SQLException,
                            DataSetException
Causes the DataSet to hit the database and fetch all the records.

Returns:
an instance of myself
Throws:
java.sql.SQLException
DataSetException

fetchRecords

public DataSet fetchRecords(int max)
                     throws java.sql.SQLException,
                            DataSetException
Causes the DataSet to hit the database and fetch max records.

Parameters:
max -
Returns:
an instance of myself
Throws:
java.sql.SQLException
DataSetException

fetchRecords

public DataSet fetchRecords(int start,
                            int max)
                     throws java.sql.SQLException,
                            DataSetException
Causes the DataSet to hit the database and fetch max records, starting at start. Record count begins at 0.

Parameters:
start -
max -
Returns:
an instance of myself
Throws:
java.sql.SQLException
DataSetException

lastFetchSize

public int lastFetchSize()
The number of records that were fetched with the last fetchRecords.

Returns:
int

keydef

public KeyDef keydef()
gets the KeyDef object for this DataSet

Returns:
the keydef for this DataSet, this value can be null

toString

public java.lang.String toString()
This returns a represention of this DataSet

Overrides:
toString in class java.lang.Object
Returns:
TODO: DOCUMENT ME!

tableName

public java.lang.String tableName()
                           throws DataSetException
Gets the tableName defined in the schema

Returns:
string
Throws:
DataSetException - TODO: DOCUMENT ME!

getSelectString

public abstract java.lang.String getSelectString()
                                          throws DataSetException
Classes extending this class must implement this method.

Returns:
the select string
Throws:
DataSetException - TODO: DOCUMENT ME!

size

public int size()
Gets the number of Records in this DataSet. It is 0 based.

Returns:
number of Records in this DataSet


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.