diff options
Diffstat (limited to 'apidocs/com/amazon/carbonado/Storage.html')
-rw-r--r-- | apidocs/com/amazon/carbonado/Storage.html | 415 |
1 files changed, 415 insertions, 0 deletions
diff --git a/apidocs/com/amazon/carbonado/Storage.html b/apidocs/com/amazon/carbonado/Storage.html new file mode 100644 index 0000000..96edf4c --- /dev/null +++ b/apidocs/com/amazon/carbonado/Storage.html @@ -0,0 +1,415 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<!-- Generated by javadoc (version 1.7.0_25) on Tue Dec 03 13:53:40 PST 2013 --> +<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> +<title>Storage (Carbonado 1.2.3 API)</title> +<meta name="date" content="2013-12-03"> +<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> +</head> +<body> +<script type="text/javascript"><!-- + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Storage (Carbonado 1.2.3 API)"; + } +//--> +</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar_top"> +<!-- --> +</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="class-use/Storage.html">Use</a></li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../index-files/index-1.html">Index</a></li> +<li><a href="../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../index.html?com/amazon/carbonado/Storage.html" target="_top">Frames</a></li> +<li><a href="Storage.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_top"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method_detail">Method</a></li> +</ul> +</div> +<a name="skip-navbar_top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<div class="subTitle">com.amazon.carbonado</div> +<h2 title="Interface Storage" class="title">Interface Storage<S extends <a href="../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>></h2> +</div> +<div class="contentContainer"> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public interface <span class="strong">Storage<S extends <a href="../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>></span></pre> +<div class="block">Access for a specific type of <a href="../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado"><code>Storable</code></a> from a <a href="../../../com/amazon/carbonado/Repository.html" title="interface in com.amazon.carbonado"><code>Repository</code></a>. + + <p>Storage instances are mutable, but they are thread-safe.</div> +<dl><dt><span class="strong">Author:</span></dt> + <dd>Brian S O'Neill</dd></dl> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> +<caption><span>Methods</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Method and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#addTrigger(com.amazon.carbonado.Trigger)">addTrigger</a></strong>(<a href="../../../com/amazon/carbonado/Trigger.html" title="class in com.amazon.carbonado">Trigger</a><? super <a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> trigger)</code> +<div class="block">Register a trigger which will be called for overridden methods in the given + trigger implementation.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>java.lang.Class<<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>></code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#getStorableType()">getStorableType</a></strong>()</code> +<div class="block">Returns the specific type of Storable managed by this object.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a></code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#prepare()">prepare</a></strong>()</code> +<div class="block">Prepares a new object for loading, inserting, updating, or deleting.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../com/amazon/carbonado/Query.html" title="interface in com.amazon.carbonado">Query</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>></code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#query()">query</a></strong>()</code> +<div class="block">Query for all Storable instances in this Storage.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="../../../com/amazon/carbonado/Query.html" title="interface in com.amazon.carbonado">Query</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>></code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#query(com.amazon.carbonado.filter.Filter)">query</a></strong>(<a href="../../../com/amazon/carbonado/filter/Filter.html" title="class in com.amazon.carbonado.filter">Filter</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> filter)</code> +<div class="block">Query for Storable instances against an explicitly constructed filter + object.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../com/amazon/carbonado/Query.html" title="interface in com.amazon.carbonado">Query</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>></code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#query(java.lang.String)">query</a></strong>(java.lang.String filter)</code> +<div class="block">Query for Storable instances against a filter expression.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#removeTrigger(com.amazon.carbonado.Trigger)">removeTrigger</a></strong>(<a href="../../../com/amazon/carbonado/Trigger.html" title="class in com.amazon.carbonado">Trigger</a><? super <a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> trigger)</code> +<div class="block">Remove a trigger which was registered earlier.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../com/amazon/carbonado/Storage.html#truncate()">truncate</a></strong>()</code> +<div class="block">Attempts to quickly delete all Storables instances in this + Storage.</div> +</td> +</tr> +</table> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="getStorableType()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getStorableType</h4> +<pre>java.lang.Class<<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> getStorableType()</pre> +<div class="block">Returns the specific type of Storable managed by this object.</div> +</li> +</ul> +<a name="prepare()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>prepare</h4> +<pre><a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a> prepare()</pre> +<div class="block">Prepares a new object for loading, inserting, updating, or deleting.</div> +<dl><dt><span class="strong">Returns:</span></dt><dd>a new data access object</dd></dl> +</li> +</ul> +<a name="query()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>query</h4> +<pre><a href="../../../com/amazon/carbonado/Query.html" title="interface in com.amazon.carbonado">Query</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> query() + throws <a href="../../../com/amazon/carbonado/FetchException.html" title="class in com.amazon.carbonado">FetchException</a></pre> +<div class="block">Query for all Storable instances in this Storage.</div> +<dl><dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../com/amazon/carbonado/FetchException.html" title="class in com.amazon.carbonado">FetchException</a></code> - if storage layer throws an exception</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../com/amazon/carbonado/Storage.html#query(java.lang.String)"><code>query(String)</code></a></dd></dl> +</li> +</ul> +<a name="query(java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>query</h4> +<pre><a href="../../../com/amazon/carbonado/Query.html" title="interface in com.amazon.carbonado">Query</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> query(java.lang.String filter) + throws <a href="../../../com/amazon/carbonado/FetchException.html" title="class in com.amazon.carbonado">FetchException</a></pre> +<div class="block">Query for Storable instances against a filter expression. A filter tests + if property values match against specific values specified by '?' + placeholders. The simplest filter compares just one property, like + <code>"ID = ?"</code>. Filters can also contain several kinds of relational + operators, boolean logic operators, sub-properties, and parentheses. A + more complex example might be <code>"income < ? | (name = ? & address.zipCode != ?)"</code>. + <p> + When querying for a single Storable instance by its primary key, it is + generally more efficient to call <a href="../../../com/amazon/carbonado/Storage.html#prepare()"><code>prepare()</code></a>, set primary key + properties, and then call <a href="../../../com/amazon/carbonado/Storable.html#load()"><code>Storable.load()</code></a>. For example, consider + an object with a primary key consisting only of the property "ID". It + can be queried as: + <pre> + Storage<UserInfo> users; + UserInfo user = users.query("ID = ?").with(123456).loadOne(); + </pre> + The above code will likely open a Cursor in order to verify that just + one object was loaded. Instead, do this: + <pre> + Storage<UserInfo> users; + UserInfo user = users.prepare(); + user.setID(123456); + user.load(); + </pre> + The complete syntax for query filters follows. Note that: + <ul> + <li> literals are not allowed + <li> logical 'and' operator has precedence over 'or' + <li> logical 'not' operator has precedence over 'and' + <li> '?' placeholders can only appear after relational operators + </ul> + <pre> + Filter = OrFilter + OrFilter = AndFilter { "|" AndFilter } + AndFilter = NotFilter { "&" NotFilter } + NotFilter = [ "!" ] EntityFilter + EntityFilter = PropertyFilter + | ChainedFilter + | "(" Filter ")" + PropertyFilter = ChainedProperty RelOp "?" + RelOp = "=" | "!=" | "<" | ">=" | ">" | "<=" + ChainedFilter = ChainedProperty "(" [ Filter ] ")" + ChainedProperty = Identifier + | InnerJoin "." ChainedProperty + | OuterJoin "." ChainedProperty + InnerJoin = Identifier + OuterJoin = "(" Identifier ")" + </pre></div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>filter</code> - query filter expression</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../com/amazon/carbonado/FetchException.html" title="class in com.amazon.carbonado">FetchException</a></code> - if storage layer throws an exception</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if filter is null</dd> +<dd><code><a href="../../../com/amazon/carbonado/MalformedFilterException.html" title="class in com.amazon.carbonado">MalformedFilterException</a></code> - if expression is malformed</dd> +<dd><code>java.lang.UnsupportedOperationException</code> - if given filter is unsupported by repository</dd></dl> +</li> +</ul> +<a name="query(com.amazon.carbonado.filter.Filter)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>query</h4> +<pre><a href="../../../com/amazon/carbonado/Query.html" title="interface in com.amazon.carbonado">Query</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> query(<a href="../../../com/amazon/carbonado/filter/Filter.html" title="class in com.amazon.carbonado.filter">Filter</a><<a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> filter) + throws <a href="../../../com/amazon/carbonado/FetchException.html" title="class in com.amazon.carbonado">FetchException</a></pre> +<div class="block">Query for Storable instances against an explicitly constructed filter + object.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>filter</code> - query filter</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../com/amazon/carbonado/FetchException.html" title="class in com.amazon.carbonado">FetchException</a></code> - if storage layer throws an exception</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if filter is null</dd> +<dd><code>java.lang.UnsupportedOperationException</code> - if given filter is unsupported by repository</dd></dl> +</li> +</ul> +<a name="truncate()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>truncate</h4> +<pre>void truncate() + throws <a href="../../../com/amazon/carbonado/PersistException.html" title="class in com.amazon.carbonado">PersistException</a></pre> +<div class="block">Attempts to quickly delete all Storables instances in this + Storage. Support for transactional truncation is not guaranteed. + + <p>If this Storage has any registered triggers which act on deletes, all + Storables are deleted via <code>query().deleteAll()</code> instead to ensure + these triggers get run.</div> +<dl><dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../com/amazon/carbonado/PersistException.html" title="class in com.amazon.carbonado">PersistException</a></code></dd><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd></dl> +</li> +</ul> +<a name="addTrigger(com.amazon.carbonado.Trigger)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>addTrigger</h4> +<pre>boolean addTrigger(<a href="../../../com/amazon/carbonado/Trigger.html" title="class in com.amazon.carbonado">Trigger</a><? super <a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> trigger)</pre> +<div class="block">Register a trigger which will be called for overridden methods in the given + trigger implementation. The newly added trigger is invoked before and + after all other triggers. In other words, it is added at the outermost + nesting level.</div> +<dl><dt><span class="strong">Returns:</span></dt><dd>true if trigger was added, false if trigger was not added + because an equal trigger is already registered</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.lang.IllegalArgumentException</code> - if trigger is null</dd></dl> +</li> +</ul> +<a name="removeTrigger(com.amazon.carbonado.Trigger)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>removeTrigger</h4> +<pre>boolean removeTrigger(<a href="../../../com/amazon/carbonado/Trigger.html" title="class in com.amazon.carbonado">Trigger</a><? super <a href="../../../com/amazon/carbonado/Storage.html" title="type parameter in Storage">S</a>> trigger)</pre> +<div class="block">Remove a trigger which was registered earlier.</div> +<dl><dt><span class="strong">Returns:</span></dt><dd>true if trigger instance was removed, false if not registered</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code>java.lang.IllegalArgumentException</code> - if trigger is null</dd></dl> +</li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +</div> +<!-- ========= END OF CLASS DATA ========= --> +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<div class="bottomNav"><a name="navbar_bottom"> +<!-- --> +</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="class-use/Storage.html">Use</a></li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../index-files/index-1.html">Index</a></li> +<li><a href="../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../index.html?com/amazon/carbonado/Storage.html" target="_top">Frames</a></li> +<li><a href="Storage.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_bottom"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li>Constr | </li> +<li><a href="#method_detail">Method</a></li> +</ul> +</div> +<a name="skip-navbar_bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +<p class="legalCopy"><small>Copyright © 2006-2013 <a href="https://github.com/Carbonado/Carbonado">Amazon Technologies, Inc.</a>. All Rights Reserved.</small></p> +</body> +</html> |