blob: 2d94427773f2ff1395ca5a1fc7038f37bd2268c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/* Copyright 2011-2014 Yorba Foundation
*
* This software is licensed under the GNU Lesser General Public License
* (version 2.1 or later). See the COPYING file in this distribution.
*/
namespace DataImports.FSpot.Db {
/**
* This class defines a generic table behavior. In practice, it implements
* the concept of a DAO (Data Access Object) in ORM terms and is responsible
* for transforming the data extracted from a relational statement into a
* lightweight value object.
*
* The type T defined in the generic is the value object type a behavior
* implementation is designed to handle. Value object types are designed to
* contain the data for a single database row.
*/
public interface FSpotTableBehavior<T> : Object {
public abstract string get_table_name();
public abstract string[] list_columns();
public abstract void build_row(Sqlite.Statement stmt, out T row, int offset = 0);
}
}
|