blob: 714a1186b4fb176371abd47c9ef92c879638fcc0 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore.filesystem,SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Documentation/ObjectStore/filesystem/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore.filesystem - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "http://wiki.eclipse.org/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem";
var wgTitle = "SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore.filesystem";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "32138";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "326633";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<link rel="stylesheet" type="text/css" href="SimpleObjectStoreService.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Documentation_ObjectStore_Bundle_org_eclipse_smila_objectstore_filesystem">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem&amp;oldid=326633">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="../Bundle_org.eclipse.smila.objectstore.filesystem.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/ObjectStore/Bundle&#32;org.eclipse.smila.objectstore.filesystem"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore.filesystem</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../../../SMILA.html" title="SMILA">SMILA</a> | <a href="../../../Documentation.1.html" title="SMILA/Documentation">Documentation</a></span>(Redirected from <a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/ObjectStore/filesystem/SimpleObjectStoreService&amp;redirect=no" title="SMILA/Documentation/ObjectStore/filesystem/SimpleObjectStoreService">SMILA/Documentation/ObjectStore/filesystem/SimpleObjectStoreService</a>)</div>
<div id="jump-to-nav">Jump to: <a href="SimpleObjectStoreService.html#column-one">navigation</a>, <a href="SimpleObjectStoreService.html#searchInput">search</a></div> <!-- start content -->
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="SimpleObjectStoreService.html#org.eclipse.smila.objectstore.filesystem"><span class="tocnumber">1</span> <span class="toctext">org.eclipse.smila.objectstore.filesystem</span></a>
<ul>
<li class="toclevel-2"><a href="SimpleObjectStoreService.html#Description"><span class="tocnumber">1.1</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-2"><a href="SimpleObjectStoreService.html#JavaDoc"><span class="tocnumber">1.2</span> <span class="toctext">JavaDoc</span></a></li>
<li class="toclevel-2"><a href="SimpleObjectStoreService.html#SimpleObjectStoreService"><span class="tocnumber">1.3</span> <span class="toctext">SimpleObjectStoreService</span></a>
<ul>
<li class="toclevel-3"><a href="SimpleObjectStoreService.html#API"><span class="tocnumber">1.3.1</span> <span class="toctext">API</span></a></li>
<li class="toclevel-3"><a href="SimpleObjectStoreService.html#Configuration"><span class="tocnumber">1.3.2</span> <span class="toctext">Configuration</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="org.eclipse.smila.objectstore.filesystem"></a><h1> <span class="mw-headline"> org.eclipse.smila.objectstore.filesystem </span></h1>
<a name="Description"></a><h2> <span class="mw-headline"> Description </span></h2>
<p>This package provides a file system based implementation of the <tt>ObjectStoreService</tt> (<tt>org.eclipse.smila.objectstore</tt> package).
</p><p>The objects are temporarily written to a shadow store, so they will not be visible until they have been committed (an exception to this is the append operation, that will append to the <i>live</i> object).
</p><p>The storage is divided into two parts: <tt>Stores</tt> and <tt>Objects</tt>.
</p><p>The following rules apply to this file system based implementation:
</p>
<ul><li>Store
<ul><li>A store is represented by a plain directory in the base store path.
</li><li>A store can include plain files or a hierarchy of files that can be listed with <tt>getStoreObjectInfos(String, String)</tt>.
</li><li>A valid store name may contain up to 256 characters and no other characters than a-z, A-Z, 0-9, and '-' (hyphen). Expressed as a regular expression this is equal to: "[a-zA-Z0-9-]{0,256}").
</li></ul>
</li><li>Object
<ul><li>An object represents a file in a store.
</li><li>An object will be invisible until the corresponding <tt>SimpleStoreOutputStream</tt> is closed or an invocation of <tt>writeObject(String, String)</tt> method succeeded
<ul><li>Exception: A invocation of the <tt>appendToObject(String, String, byte[])</tt> method will append directly to the visible object.
</li></ul>
</li></ul>
</li></ul>
<p>Hierarchies within the store can be created by using object ids that contain a path, e.g. creating an object <tt>path/to/the/object</tt> in a store with the name <tt>storename</tt> will result in the following file system hierarchy (starting with the store-base file system):
<tt>storename/path/to/the/object</tt>
</p>
<a name="JavaDoc"></a><h2> <span class="mw-headline"> JavaDoc </span></h2>
<p>JavaDoc can be found at <a href="http://build.eclipse.org/rt/smila/javadoc/current/index.html?org/eclipse/smila/objectstore/filesystem/package-summary.html" class="external text" title="http://build.eclipse.org/rt/smila/javadoc/current/index.html?org/eclipse/smila/objectstore/filesystem/package-summary.html" rel="nofollow">org.eclipse.smila.objectstore.filesystem</a>.
</p><p>For the interfaces implemented and the exceptions used, see <a href="http://build.eclipse.org/rt/smila/javadoc/current/index.html?org/eclipse/smila/objectstore/package-summary.html" class="external text" title="http://build.eclipse.org/rt/smila/javadoc/current/index.html?org/eclipse/smila/objectstore/package-summary.html" rel="nofollow">org.eclipse.smila.objectstore</a>.
</p>
<a name="SimpleObjectStoreService"></a><h2> <span class="mw-headline"> SimpleObjectStoreService </span></h2>
<a name="API"></a><h3> <span class="mw-headline"> API </span></h3>
<p><tt>SimpleObjectStoreService</tt> implements the <a href="http://build.eclipse.org/rt/smila/javadoc/current/org/eclipse/smila/objectstore/ObjectStoreService.html" class="external text" title="http://build.eclipse.org/rt/smila/javadoc/current/org/eclipse/smila/objectstore/ObjectStoreService.html" rel="nofollow">org.eclipse.smila.objectstore.ObjectStoreService API</a> of the <tt>ObjectStoreService</tt>.
</p><p>This implementation does not support the method <tt>void finishObject(final String storeName, final String objectId)</tt>, that is meant to prevent further append calls for the object. Any call to this method is ignored.
</p><p>You can find information of the <tt>ObjectStoreService</tt> in <a href="../Bundle_org.eclipse.smila.objectstore.html" title="SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore">bundle org.eclipse.smila.objectstore</a>.
</p>
<a name="Configuration"></a><h3> <span class="mw-headline"> Configuration </span></h3>
<p>The only configuration that can be provided (but is not necessary) is a configuration property file located at <tt>configuration/org.eclipse.smila.objectstore.filesystem/objectstoreservice.properties</tt>.
</p><p>In this file you can specify the following settings:
</p>
<ul><li><tt>root.path</tt>
<ul><li>Defines the path to the root directory of the object store. In this directory, the store root folder <tt>objectstore</tt> and shadow directory <tt>.objectstore</tt> will be created to hold the stores and the visible (resp. temporary) objects of the stores.
</li><li>Default: If the property is not set, a default directory for the bundle is created in the SMILA workspace.
</li></ul>
</li><li><tt>file.locking</tt>
<ul><li>This option is experimental!
</li><li>If set to <tt>true</tt>, access to the file will be accompanied by a files system lock to prohibit parallel access by other programs. Whether or not the operating system or the file system used will honor this lock cannot be guaranteed, so it is not recommended.
</li><li>Default: <tt>false</tt>.
</li></ul>
</li></ul>
<!--
NewPP limit report
Preprocessor node count: 29/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:32138-0!1!0!!en!2!edit=0 and timestamp 20130416060957 -->
<div class="printfooter">
Retrieved from "<a href="../Bundle_org.eclipse.smila.objectstore.filesystem.html">http://wiki.eclipse.org/SMILA/Documentation/ObjectStore/Bundle_org.eclipse.smila.objectstore.filesystem</a>"</div>
<!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2013 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 09:52, 16 January 2013 by <a href="http://wiki.eclipse.org/index.php?title=User:Dhaenssgen.brox.de&amp;action=edit" class="new" title="User:Dhaenssgen.brox.de">Daniel Hänßgen</a>. Based on work by <a href="http://wiki.eclipse.org/User:Andreas.schank.attensity.com" title="User:Andreas.schank.attensity.com">A. Schank</a> and <a href="http://wiki.eclipse.org/index.php?title=User:Nadine.auslaender.attensity.com&amp;action=edit" class="new" title="User:Nadine.auslaender.attensity.com"> </a>.</p>
<p id="footerviews">This page has been accessed 2,026 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.065 secs. --></body></html>