54 lines
869 B
Plaintext
54 lines
869 B
Plaintext
note
|
|
description: "Node storage extension for specific node descendant."
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
deferred class
|
|
CMS_NODE_STORAGE_EXTENSION [G -> CMS_NODE]
|
|
|
|
feature -- Access
|
|
|
|
content_type: READABLE_STRING_8
|
|
deferred
|
|
end
|
|
|
|
feature -- Status report
|
|
|
|
is_accepted (a_node: CMS_NODE): BOOLEAN
|
|
-- Is `a_node' accepted by current storage extension?
|
|
do
|
|
Result := attached {G} a_node
|
|
end
|
|
|
|
feature -- Persistence
|
|
|
|
store_node (a_node: CMS_NODE)
|
|
require
|
|
a_node_accepted: is_accepted (a_node)
|
|
do
|
|
if attached {G} a_node as obj then
|
|
store (obj)
|
|
end
|
|
end
|
|
|
|
load_node (a_node: CMS_NODE)
|
|
require
|
|
a_node_accepted: is_accepted (a_node)
|
|
do
|
|
if attached {G} a_node as obj then
|
|
load (obj)
|
|
end
|
|
end
|
|
|
|
feature {NONE} -- Persistence implementation
|
|
|
|
store (a_node: G)
|
|
deferred
|
|
end
|
|
|
|
load (a_node: G)
|
|
deferred
|
|
end
|
|
|
|
end
|