com.ap.jdbcunit
Interface Media

All Known Implementing Classes:
CSVMedia, MediaStack

public interface Media

Objects implementing this interface know about storing and retrieving result sets associated to sql statements. Conformance tests are available to validate the Media interface implementation

Author:
Jean Lazarou
See Also:
package

Method Summary
 void close()
          Close the media, the media flushes everything that need to be saved to the persistent store.
 void closeTrack()
          Close the current track
 int countTracks()
           
 void delete()
          Deletes everything that is related to this media
 void deleteTrack(java.lang.String dbURL, java.lang.String sql)
          Deletes the track identified by the given URL and SQL statement
 boolean existsTrack(java.lang.String dbURL, java.lang.String sql)
          Answers the question "Does this media contain some SQL statement?"
 void foreachTrack(MediaVisitor visitor)
          Start visiting all the tracks contained in this media.
 java.util.Iterator getTrack(java.lang.String dbURL, java.lang.String sql)
          Return the track (the results) identified by the given URL and SQL statement
 void newTrack(java.lang.String dbURL, java.lang.String sql, java.util.List columnNames)
          Adds a new track of result, the result was obtained by executing the given SQL statement on the database (identified by the URL).
 void open()
          Open the media so that it can be used
 void write(java.util.List row)
          Add a row to the current track.
 

Method Detail

open

public void open()
Open the media so that it can be used


close

public void close()
Close the media, the media flushes everything that need to be saved to the persistent store.


delete

public void delete()
Deletes everything that is related to this media


countTracks

public int countTracks()
Returns:
the number of tracks (result sets) that are contained in this media

foreachTrack

public void foreachTrack(MediaVisitor visitor)
Start visiting all the tracks contained in this media.

Parameters:
visitor - the MediaVisitor object interrested in handling all the tracks contained in this media

existsTrack

public boolean existsTrack(java.lang.String dbURL,
                           java.lang.String sql)
Answers the question "Does this media contain some SQL statement?"

Parameters:
dbURL - the database URL as String
sql - the SQL statement as String
Returns:
true if this media contain the given statement executed on the given database

newTrack

public void newTrack(java.lang.String dbURL,
                     java.lang.String sql,
                     java.util.List columnNames)
Adds a new track of result, the result was obtained by executing the given SQL statement on the database (identified by the URL). The result is a table with the diven header (column names). When the method return the new created track is the current track.

Parameters:
dbURL - the database that returned some result
sql - the executed SQL statement
columnNames - the list of all the columns
See Also:
Media.write

write

public void write(java.util.List row)
Add a row to the current track.

Parameters:
row - a list of values (the size of the list should be thes as the current track's number of columns.

closeTrack

public void closeTrack()
Close the current track


getTrack

public java.util.Iterator getTrack(java.lang.String dbURL,
                                   java.lang.String sql)
Return the track (the results) identified by the given URL and SQL statement

Parameters:
dbURL - the database URL
sql - the SQL statement
Returns:
an iterator or the result ot the query execution

deleteTrack

public void deleteTrack(java.lang.String dbURL,
                        java.lang.String sql)
Deletes the track identified by the given URL and SQL statement

Parameters:
dbURL - the database URL
sql - the SQL statement