blob: 498bf9483d5ebc8b3497a24f1849fb2975b93a38 (
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
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
|
-- File: Storage_Root.cdl
-- Created: Mon Feb 24 16:30:08 1997
-- Author: Kernel
-- <kernel@parigox.paris1.matra-dtv.fr>
---Copyright: Matra Datavision 1997
class Root from Storage
inherits TShared from MMgt
---Purpose:
-- A root object extracted from a Storage_Data object.
-- A Storage_Root encapsulates a persistent
-- object which is a root of a Storage_Data object.
-- It contains additional information: the name and
-- the data type of the persistent object.
-- When retrieving a Storage_Data object from a
-- container (for example, a file) you access its
-- roots with the function Roots which returns a
-- sequence of root objects. The provided functions
-- allow you to request information about each root of the sequence.
-- You do not create explicit roots: when inserting
-- data in a Storage_Data object, you just provide
-- the persistent object and optionally its name to the function AddRoot.
uses AsciiString from TCollection
is
Create returns mutable Root from Storage;
Create(aName : AsciiString from TCollection;
anObject : Persistent from Standard) returns mutable Root from Storage;
SetName(me : mutable; aName : AsciiString from TCollection);
Name(me) returns AsciiString from TCollection;
---Purpose:
-- Returns the name of this root object.
-- The name may have been given explicitly when
-- the root was inserted into the Storage_Data
-- object. If not, the name is a reference number
-- which was assigned automatically by the driver
-- when writing the set of data into the container.
-- When naming the roots, it is easier to retrieve
-- objects by significant references rather than by
-- references without any semantic values.
-- Warning
-- The returned string will be empty if you call this
-- function before having named this root object,
-- either explicitly, or when writing the set of data
-- into the container.
SetObject(me : mutable; anObject : Persistent from Standard);
Object(me) returns mutable Persistent from Standard;
---Purpose:
-- Returns the persistent object encapsulated by this root.
Type(me) returns AsciiString from TCollection;
---Purpose: Returns the name of this root type.
SetReference(me : mutable; aRef : Integer from Standard) is private;
Reference(me) returns Integer from Standard is private;
SetType(me : mutable; aType : AsciiString from TCollection) is private;
fields
myName : AsciiString from TCollection;
myType : AsciiString from TCollection;
myObject : Persistent from Standard;
myRef : Integer from Standard;
friends class Schema from Storage
end;
|