-
Notifications
You must be signed in to change notification settings - Fork 0
/
OrmConfiguration.php
77 lines (59 loc) · 1.55 KB
/
OrmConfiguration.php
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
namespace sporm;
abstract class OrmConfiguration {
private $aColumns;
private $sBaseTable;
private $sIdField = 'id';
private $sObjectType;
private $aAlternativeIds = array();
private $aAlternativeIdsAsKey = array();
/**
* @var DatabaseReader
*/
protected $oDatabaseReader;
private $bDeleteOnUpdates = false;
function __construct( $sBaseTable, $aColumns ) {
$this->aColumns = $aColumns;
$this->sBaseTable = $sBaseTable;
}
abstract function buildReturnObject( $aData );
abstract function buildInvalidObject( $sId = false );
abstract function buildRawData( $oObject );
function setObjectType( $sObjectType) {
$this->sObjectType = $sObjectType;
}
function getObjectType() {
return $this->sObjectType;
}
function setIdField( $sIdField ) {
$this->sIdField = $sIdField;
}
function getIdField() {
return $this->sIdField;
}
function addAlternativeId( $oId ) {
$this->aAlternativeIdsAsKey[] = (String)$oId;
$this->aAlternativeIds[] = $oId;
}
function isAnAlternativeId( CompositeId $oId ) {
return ( in_array( (String)$oId, $this->aAlternativeIdsAsKey ) );
}
function getAlternativeIds() {
return $this->aAlternativeIds;
}
function setDatabaseReader( DatabaseReader $oDatabaseReader ) {
$this->oDatabaseReader = $oDatabaseReader;
}
function getColumns() {
return $this->aColumns;
}
function getBaseTable() {
return $this->sBaseTable;
}
function deleteOnUpdates() {
return $this->bDeleteOnUpdates;
}
function setDeleteOnUpdates() {
$this->bDeleteOnUpdates = true;
}
}