1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 """Contains interfaces for the data layer, mainly for binding typed
17 data and data collections to components, and for validating data.
18
19 Data binding
20 ============
21
22 The package contains a three-tiered structure for typed data
23 objects and collections of them:
24
25 - A L{IProperty} represents a single, typed data value.
26
27 - An L{IItem} embodies a set of I{Properties}.
28 A locally unique (inside the L{IItem})
29 Property identifier corresponds to each Property inside the Item.
30 - A L{IContainer} contains a set of Items, each corresponding to a
31 locally unique Item identifier. Note that Container imposes a few
32 restrictions on the data stored in it, see L{IContainer} for further
33 information.
34
35 Buffering
36 =========
37
38 A L{IBuffered} implementor is able to track and buffer changes and commit
39 or discard them later.
40
41 Validation
42 ==========
43
44 L{IValidator} implementations are used to validate data, typically the value
45 of a L{IField}. One or more L{IValidator} can be added to a L{IValidatable}
46 implementor and then used to validate the value of the Validatable.
47 """
48