com.workingdogs.village
Class DataSet

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

public abstract class DataSet
extends 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  Connection conn
          this DataSet's connection object
protected  Vector records
          this DataSet's collection of Record objects
protected  ResultSet resultSet
          the result set for this DataSet
protected  Schema schema
          this DataSet's schema object
protected  StringBuffer selectString
          the select string that was used to build this DataSet
protected  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.
 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  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.
 int[] maxColumnWidths(boolean with_heading)
          Calculates the maxColumnWidths for the column in a DataSet I really don't know what this is used for so it isn't implemented.
 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
 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.
 String tableName()
          Gets the tableName defined in the schema
 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 Vector records
this DataSet's collection of Record objects


conn

protected Connection conn
this DataSet's connection object


selectString

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


resultSet

protected ResultSet resultSet
the result set for this DataSet


stmt

protected Statement stmt
the Statement for this DataSet

Constructor Detail

DataSet

public DataSet()
        throws DataSetException,
               SQLException
Private, not used

Throws:
DataSetException
SQLException
Method Detail

resultSet

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

Returns:
the result set for this DataSet
Throws:
SQLException
DataSetException

addRecord

public Record addRecord()
                 throws DataSetException,
                        SQLException
Calls addRecord(DataSet)

Returns:
the added record
Throws:
DataSetException
SQLException

addRecord

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

Parameters:
ds -
Returns:
the added record
Throws:
DataSetException
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 SQLException,
                  DataSetException
Releases the records, closes the ResultSet and the Statement, and nulls the Schema and Connection references.

Throws:
SQLException
DataSetException

reset

public DataSet reset()
              throws DataSetException,
                     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
SQLException

connection

public Connection connection()
                      throws SQLException
Gets the current database connection

Returns:
a database connection
Throws:
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 SQLException,
                            DataSetException
Causes the DataSet to hit the database and fetch all the records.

Returns:
an instance of myself
Throws:
SQLException
DataSetException

fetchRecords

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

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

fetchRecords

public DataSet fetchRecords(int start,
                            int max)
                     throws 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:
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 String toString()
This returns a represention of this DataSet

Overrides:
toString in class Object
Returns:
TODO: DOCUMENT ME!

tableName

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

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

maxColumnWidths

public int[] maxColumnWidths(boolean with_heading)
                      throws DataSetException,
                             SQLException
Calculates the maxColumnWidths for the column in a DataSet I really don't know what this is used for so it isn't implemented.

Parameters:
with_heading -
Returns:
int
Throws:
DataSetException
SQLException

getSelectString

public abstract 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.