<html> <head> <title>Interface XOptimizedStorage</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="XOptimizedStorage-xref.html" class="navimain">Use</a></td> <td class="navimainnone">Devguide</td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td> <td class="navisub">Attributes' Summary</td> <td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td> <td class="navisub">Attributes' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">embed</a> :: </p> </td> </tr> <tr> <td class="title"><table class="title-table" width="99%"> <tr> <td width="25%" class="title2">unpublished </td> <td width="50%" class="title">interface XOptimizedStorage</td> <td width="*"/></tr> </table> </td> </tr> <tr> <td/></tr> <tr> <td><dl> <dt><b>Usage Restrictions</b></dt> <dd><i>not published</i></dd> <dt><b>Description</b></dt> <dd>This is a temporary interface that is introduced to temporarily optimize the document storing process. PLEASE DO NOT USE IT, it might change in any time and will be depricated soon! Another solution will be introduced as final one. </dd> </dl> </td> </tr> </table> <hr> <a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Methods' Summary</td> </tr> <tr> <td class="imsum_left"><a href="#insertRawNonEncrStreamElementDirect">insertRawNonEncrStreamElementDirect</a></td> <td class="imsum_right">allows to insert a raw stream representing nonencrypted stream with header. </td> </tr> <tr> <td class="imsum_left"><a href="#insertStreamElementDirect">insertStreamElementDirect</a></td> <td class="imsum_right">allows to insert a stream to the storage directly. The stream must stay alive till the storage is commited. </td> </tr> <tr> <td class="imsum_left"><a href="#copyElementDirectlyTo">copyElementDirectlyTo</a></td> <td class="imsum_right">allows to copy storage element directly, not guarantied to work. </td> </tr> <tr> <td class="imsum_left"><a href="#writeAndAttachToStream">writeAndAttachToStream</a></td> <td class="imsum_right">allows to switch storage persistence to the provided stream. The stream will be filled by the storage. If an empty reference is provided, the storage will create a temporary stream to switch to itself. It is applicable only for root storages. </td> </tr> <tr> <td class="imsum_left"><a href="#attachToURL">attachToURL</a></td> <td class="imsum_right">allows to switch storage persistence to the provided URL. The caller is responsible to be sure that the file referenced by the URL contains the same contents as the stream the storage is based currently. Thus using of this method is very dangerous and should be avoided when possible. It is applicable only for root storages. </td> </tr> <tr> <td class="imsum_left"><a href="#getElementPropertyValue">getElementPropertyValue</a></td> <td class="imsum_right">allows to get property of the child element with the specified name. The implementation of the method might allow to access only subset of the supported by element properties. </td> </tr> <tr> <td class="imsum_left"><a href="#copyStreamElementData">copyStreamElementData</a></td> <td class="imsum_right">fills the provided stream with the last flushed version of data from the child stream of the storage. </td> </tr> </table> <a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle">Methods' Details</td> </tr> <tr> <td class="imdetail"><a name="insertRawNonEncrStreamElementDirect" class="membertitle">insertRawNonEncrStreamElementDirect</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>insertRawNonEncrStreamElementDirect</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sStreamName,</td> </tr> <tr> <td/><td valign="top">[in] ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/XInputStream.html">XInputStream</a></td> <td valign="bottom"> xInStream )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../packages/module-ix.html">packages</a>::<a href="../packages/NoRawFormatException.html">NoRawFormatException</a>,<br> ::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/ElementExistException.html">ElementExistException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to insert a raw stream representing nonencrypted stream with header. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="insertStreamElementDirect" class="membertitle">insertStreamElementDirect</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>insertStreamElementDirect</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sStreamName,</td> </tr> <tr> <td/><td valign="top">[in] ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/XInputStream.html">XInputStream</a></td> <td valign="bottom"> xInStream,</td> </tr> <tr> <td/><td valign="top">[in] sequence< ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/PropertyValue.html">PropertyValue</a> ></td> <td valign="bottom"> aProperties )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/ElementExistException.html">ElementExistException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to insert a stream to the storage directly. The stream must stay alive till the storage is commited. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="copyElementDirectlyTo" class="membertitle">copyElementDirectlyTo</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>copyElementDirectlyTo</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sSourceName,</td> </tr> <tr> <td/><td valign="top">[in] <a href="XOptimizedStorage.html">XOptimizedStorage</a></td> <td valign="bottom"> xTargetStorage,</td> </tr> <tr> <td/><td valign="top">[in] string</td> <td valign="bottom"> sTargetName )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/NoSuchElementException.html">NoSuchElementException</a>,<br> ::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/ElementExistException.html">ElementExistException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to copy storage element directly, not guarantied to work. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="writeAndAttachToStream" class="membertitle">writeAndAttachToStream</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>writeAndAttachToStream</b>(</td> <td valign="top">[in] ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/XStream.html">XStream</a></td> <td valign="bottom"> xStream )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to switch storage persistence to the provided stream. The stream will be filled by the storage. If an empty reference is provided, the storage will create a temporary stream to switch to itself. It is applicable only for root storages. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="attachToURL" class="membertitle">attachToURL</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>attachToURL</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sURL,</td> </tr> <tr> <td/><td valign="top">[in] boolean</td> <td valign="bottom"> bReadOnly )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to switch storage persistence to the provided URL. The caller is responsible to be sure that the file referenced by the URL contains the same contents as the stream the storage is based currently. Thus using of this method is very dangerous and should be avoided when possible. It is applicable only for root storages. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="getElementPropertyValue" class="membertitle">getElementPropertyValue</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">any</td> </tr> <tr> <td valign="top"><b>getElementPropertyValue</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sElementName,</td> </tr> <tr> <td/><td valign="top">[in] string</td> <td valign="bottom"> sPropertyName )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/NoSuchElementException.html">NoSuchElementException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a>,<br> ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/PropertyVetoException.html">PropertyVetoException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to get property of the child element with the specified name. The implementation of the method might allow to access only subset of the supported by element properties. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="copyStreamElementData" class="membertitle">copyStreamElementData</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>copyStreamElementData</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sStreamName,</td> </tr> <tr> <td/><td valign="top">[in] ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/XStream.html">XStream</a></td> <td valign="bottom"> xTargetStream )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../packages/module-ix.html">packages</a>::<a href="../packages/WrongPasswordException.html">WrongPasswordException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>fills the provided stream with the last flushed version of data from the child stream of the storage. </dd> <dt><b>Parameter sStreamName</b></dt> <dd>the name of the substream that should be copied </dd> <dt><b>Parameter xTargetStream</b></dt> <dd>the target stream where the data must be copied to </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::InvalidStorageException this storage is in invalid state for any reason </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::lang::IllegalArgumentException one of provided arguments is illegal </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::packages::WrongPasswordException the provided password is wrong </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::io::IOException in case of io errors during stream opening </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::StorageWrappedTargetException wraps other exceptions </dd> </dl> </td> </tr> </table> </td> </tr> </table> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-idlref" --> </body> </html>