Initial contribution of the Adaptation Documentation.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-18D92465-3F62-55CF-8229-EE811FD5F568"><title>Stream networks</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>When a store stream is created, a stream ID is generated. This ID can be used to open the stream later. Stream IDs can be externalised into another stream, and this allows streams in a store to be built into a network.</p> <p>An object that is saved to a store may use a network of streams, typically starting with a single head stream.</p> <p>An object stores itself using a function of the form:</p> <codeblock id="GUID-A150BE2B-BCC6-52DC-BEB4-826FDDB28C09" xml:space="preserve">streamId=object.StoreL(store);</codeblock> <p>Given the correct stream ID, the object may be restored using a function of the form:</p> <codeblock id="GUID-2F6D9176-0ED8-5696-9FF8-D347084B9CFB" xml:space="preserve">object.RestoreL(store,streamId)</codeblock> <p>where <codeph>store</codeph> is a reference or pointer to a store.</p> <p>The function names <codeph>StoreL()</codeph> and <codeph>RestoreL()</codeph> are conventional for this purpose.</p> <p>The following diagram shows the idea of stream networks:</p> <fig id="GUID-970A4AE3-62C2-5BFD-990D-96D76735049A"><image href="GUID-6DA5C169-5143-5DDD-B4A0-004D4571D9B8_d0e385622_href.png" placement="inline"/></fig> </conbody></concept>