Files
ROC/modules/node/persistence/cms_node_storage_extension.e
2015-08-10 10:04:08 +02:00

65 lines
1.1 KiB
Plaintext

note
description: "Node storage extension for specific node descendant."
date: "$Date$"
revision: "$Revision$"
deferred class
CMS_NODE_STORAGE_EXTENSION [G -> CMS_NODE]
feature -- Change
set_node_api (a_node_api: CMS_NODE_API)
do
node_api := a_node_api
end
feature -- Access
node_api: CMS_NODE_API
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)
-- Store extension data from node `a_node'.
deferred
end
load (a_node: G)
-- Load extension data into node `a_node'.
deferred
end
end