-
Notifications
You must be signed in to change notification settings - Fork 1
/
Domain.php
71 lines (65 loc) · 2.36 KB
/
Domain.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
<?php
/*
You may not change or alter any portion of this comment or credits
of supporting developers from this source code or any supporting source code
which is considered copyrighted (c) material of the original comment or credit authors.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
namespace Xmf\Xadr;
/**
* Domain defines the framework that must be implemented by a class
* to qualify as a Domain.
*
* A Domain defines a business process rule set consisting of
* - business objects (one or more database objects and relating rules)
* - presentation rules appropriate to input and display
* - validation rules
* - methods for specific actions unique to the business process
* - retrieve rule sets approriate to a specific process step
* (i.e entry form, entry validation, etc.)
* - triggers for announcing completion of specific process actions
* (i.e. new object created)
* - workflow
* - (more)
*
* Domains are loaded and tracked by the DomainManger, and thus they are
* available to any ContextAware object.
*
* @category Xmf\Xadr\Domain
* @package Xmf
* @author Richard Griffith <[email protected]>
* @copyright 2013-2015 XOOPS Project (http://xoops.org)
* @license GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
* @link http://xoops.org
*/
abstract class Domain extends ContextAware
{
/**
* initialize the domain - called automatically by DomainManger
*
* implementations should establish the domain
*
* @return bool true if domain has initialized, otherwise false
*/
abstract public function initialize();
/**
* cleanup the domain - called automatically by DomainManger
*
* concrete implementations should cleanly close the domain
*
* @return bool true if domain has closed cleanly, otherwise false
*/
abstract public function cleanup();
/**
* Access the DomainState object for this Domain
*
* The DomainState object provides a transient storage mechanism for Domain related
* current state data, such as result sets. Some DomainState implementations may
* provide persistence features as well.
*
* @return DomainState object
*/
abstract public function state();
}