Difference between revisions of "Persistence code samples"
(→INDEPENDENT_BINARY_FORMAT) |
(→PERSISTENCE_MANAGER) |
||
| Line 4: | Line 4: | ||
==Simplified BON diagram== | ==Simplified BON diagram== | ||
==PERSISTENCE_MANAGER== | ==PERSISTENCE_MANAGER== | ||
| + | <code> | ||
| + | class | ||
| + | PERSISTENCE_MANAGER | ||
| + | |||
| + | feature -- Access | ||
| + | |||
| + | medium: PERSISTENCE_MEDIUM -- the chosen medium | ||
| + | |||
| + | format: PERSISTENCE_FORMAT --the chosen format | ||
| + | |||
| + | feature -- Basic operations | ||
| + | |||
| + | store (an_object:ANY) | ||
| + | --persists an_object using the format and medium stored by current object | ||
| + | require | ||
| + | an_object_exists:an_object /= Void | ||
| + | medium_exists: medium /= Void | ||
| + | do | ||
| + | format.store(an_object,medium) | ||
| + | end | ||
| + | |||
| + | retrieve:ANY | ||
| + | --retrieves an_object using the medium and format stored by current object | ||
| + | require | ||
| + | medium_exists: medium /= Void | ||
| + | do | ||
| + | Result:=format.retrieve(medium) | ||
| + | end | ||
| + | end | ||
| + | </code> | ||
| + | |||
==SERIALIZATION_MANAGER== | ==SERIALIZATION_MANAGER== | ||
==PERSISTENCE_FORMAT== | ==PERSISTENCE_FORMAT== | ||
Revision as of 01:06, 19 August 2007
Here the main classes of the framework are sketched.
You can download the source code here (TODO: provide a link to the sources)
Contents
Simplified BON diagram
PERSISTENCE_MANAGER
class PERSISTENCE_MANAGER feature -- Access medium: PERSISTENCE_MEDIUM -- the chosen medium format: PERSISTENCE_FORMAT --the chosen format feature -- Basic operations store (an_object:ANY) --persists an_object using the format and medium stored by current object require an_object_exists:an_object /= Void medium_exists: medium /= Void do format.store(an_object,medium) end retrieve:ANY --retrieves an_object using the medium and format stored by current object require medium_exists: medium /= Void do Result:=format.retrieve(medium) end end
SERIALIZATION_MANAGER
PERSISTENCE_FORMAT
BINARY_FORMAT
INDEPENDENT_BINARY_FORMAT
indexing description: "Objects that represent specific platform independent binary formats" author: "" date: "$Date$" revision: "$Revision$" class INDEPENDENT_BINARY_FORMAT inherit BINARY_FORMAT feature -- Access optimized_for_retrieval:BOOLEAN feature -- Status setting set_optimized_for_retrieval(is_optimized_for_retrieval:BOOLEAN) do optimized_for_retrieval:=is_optimized_for_retrieval ensure optimized_for_retrieval_set:optimized_for_retrieval=is_optimized_for_retrieval end feature -- Basic operations store_now(object_to_store:ANY) do store_handler.independent_store(object_to_store,serializer,optimized_for_retrieval) end end

