|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-983C5DB9-85EF-541E-B494-19E3E617914A" xml:lang="en"><title>Introduction |
|
13 to embedded stores </title><shortdesc>Data contained in a stream can represent a store in its own right |
|
14 rather than just objects. Such a store is known as an embedded store.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
15 <p>The stream containing the embedded store is known as the host stream.</p> |
|
16 <p>It is often convenient, and sometimes necessary, to collect the streams |
|
17 representing a partial object network into an embedded store. This makes it |
|
18 easier for the streams representing such a partial object network to be deleted, |
|
19 by deleting (from the top level store) the stream containing the embedded |
|
20 store.</p> |
|
21 <p> The alternative is to traverse the individual streams representing the |
|
22 partial object network and deleting them in the correct sequence; this can |
|
23 be difficult.</p> |
|
24 <p>The following diagram shows the idea:</p> |
|
25 <fig id="GUID-612A6C2C-D706-50BB-A6C4-F2B5639685F8"> |
|
26 <title>Embedded store within stream</title> |
|
27 <image href="GUID-8B1C7778-0C6D-5DEE-90FD-3B016EC0E3CE_d0e361437_href.png" placement="inline"/> |
|
28 </fig> |
|
29 <p>An embedded store can contain an arbitrarily complex network of streams. |
|
30 As well as being easy to delete, this stream network can also be copied by |
|
31 simply copying the host stream from the containing store.</p> |
|
32 <p>Embedded stores are persistent stores.</p> |
|
33 <p>The embedded store is constructed on a write stream in its containing store |
|
34 and, for writing, the embedded store behaves like a direct file store — once |
|
35 streams within the embedded store have been committed and closed, they cannot |
|
36 subsequently be changed, i.e. streams cannot be replaced, deleted, extended |
|
37 or changed in any way.</p> |
|
38 <p>Embedded stores are used for object embedding by the application architecture. |
|
39 Because the embedded store behaves like a direct file store, only document |
|
40 types with direct representations can be embedded. In particular, documents |
|
41 using permanent-type stores, such as the database or the agenda, cannot be |
|
42 embedded. Such documents may, however, contain any type of embeddable document.</p> |
|
43 <section id="GUID-72E3A832-7DE7-41F0-B021-BC37C6BB40DF"><title>See also</title> <p><xref href="GUID-C9D8D913-C65F-5A69-A606-30F59BFB38E2.dita">File stores</xref> </p> <p><xref href="GUID-B683496C-652E-5F48-924E-52D2FF3A78A7.dita">Direct file store</xref> </p> </section> |
|
44 </conbody></concept> |