<!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:43 PST 2013 --> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>StorableIndex (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="StorableIndex (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/StorableIndex.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/info/OrderedProperty.html" title="class in com.amazon.carbonado.info"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../com/amazon/carbonado/info/StorableInfo.html" title="interface in com.amazon.carbonado.info"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/amazon/carbonado/info/StorableIndex.html" target="_top">Frames</a></li> <li><a href="StorableIndex.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><a href="#constructor_summary">Constr</a> | </li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor_detail">Constr</a> | </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.info</div> <h2 title="Class StorableIndex" class="title">Class StorableIndex<S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>></h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>com.amazon.carbonado.info.StorableIndex<S></li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Implemented Interfaces:</dt> <dd><a href="../../../../com/amazon/carbonado/util/Appender.html" title="interface in com.amazon.carbonado.util">Appender</a></dd> </dl> <hr> <br> <pre>public class <span class="strong">StorableIndex<S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>></span> extends java.lang.Object implements <a href="../../../../com/amazon/carbonado/util/Appender.html" title="interface in com.amazon.carbonado.util">Appender</a></pre> <div class="block">Represents an index that must be defined for a specific <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado"><code>Storable</code></a> type.</div> <dl><dt><span class="strong">Author:</span></dt> <dd>Brian S O'Neill</dd> <dt><span class="strong">See Also:</span></dt><dd><a href="../../../../com/amazon/carbonado/Index.html" title="annotation in com.amazon.carbonado"><code>Index</code></a></dd></dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#StorableIndex(java.lang.Class, com.amazon.carbonado.capability.IndexInfo)">StorableIndex</a></strong>(java.lang.Class<<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> type, <a href="../../../../com/amazon/carbonado/capability/IndexInfo.html" title="interface in com.amazon.carbonado.capability">IndexInfo</a> indexInfo)</code> <div class="block">Creates a StorableIndex from an IndexInfo.</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#StorableIndex(com.amazon.carbonado.info.OrderedProperty[], com.amazon.carbonado.info.Direction)">StorableIndex</a></strong>(<a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</code> <div class="block">Creates a StorableIndex from OrderedProperties.</div> </td> </tr> <tr class="altColor"> <td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#StorableIndex(com.amazon.carbonado.info.StorableKey, com.amazon.carbonado.info.Direction)">StorableIndex</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableKey.html" title="interface in com.amazon.carbonado.info">StorableKey</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> key, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</code> <div class="block">Creates a StorableIndex from a StorableKey.</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#StorableIndex(com.amazon.carbonado.info.StorableProperty[], com.amazon.carbonado.info.Direction[])">StorableIndex</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] directions)</code> <div class="block">Creates a StorableIndex from the given properties and matching directions.</div> </td> </tr> <tr class="altColor"> <td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#StorableIndex(com.amazon.carbonado.info.StorableProperty[], com.amazon.carbonado.info.Direction[], boolean)">StorableIndex</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] directions, boolean unique)</code> <div class="block">Creates a StorableIndex from the given properties and matching directions.</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#StorableIndex(com.amazon.carbonado.info.StorableProperty[], com.amazon.carbonado.info.Direction[], boolean, boolean)">StorableIndex</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] directions, boolean unique, boolean clustered)</code> <div class="block">Creates a StorableIndex from the given properties and matching directions.</div> </td> </tr> </table> </li> </ul> <!-- ========== 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><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#addProperty(com.amazon.carbonado.info.StorableProperty, com.amazon.carbonado.info.Direction)">addProperty</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> property, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</code> <div class="block">Returns a StorableIndex with the given property added.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#appendTo(java.lang.Appendable)">appendTo</a></strong>(java.lang.Appendable app)</code> <div class="block">Appends the same results as toString, but without the "StorableIndex" prefix.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#clustered(boolean)">clustered</a></strong>(boolean clustered)</code> <div class="block">Returns a StorableIndex instance which is clustered or not.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#equals(java.lang.Object)">equals</a></strong>(java.lang.Object obj)</code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getNameDescriptor()">getNameDescriptor</a></strong>()</code> <div class="block">Converts this index into a parseable name descriptor string, whose general format is:</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getOrderedProperties()">getOrderedProperties</a></strong>()</code> <div class="block">Returns a new array with all the properties in it, with directions folded in.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getOrderedProperty(int)">getOrderedProperty</a></strong>(int index)</code> <div class="block">Returns a specific property in this index, with the direction folded in.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getProperties()">getProperties</a></strong>()</code> <div class="block">Returns a new array with all the properties in it.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getProperty(int)">getProperty</a></strong>(int index)</code> <div class="block">Returns a specific property in this index.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getPropertyCount()">getPropertyCount</a></strong>()</code> <div class="block">Returns the count of properties in this index.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getPropertyDirection(int)">getPropertyDirection</a></strong>(int index)</code> <div class="block">Returns the requested direction of a specific property in this index.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getPropertyDirections()">getPropertyDirections</a></strong>()</code> <div class="block">Returns a new array with all the property directions in it.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>java.lang.Class<<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getStorableType()">getStorableType</a></strong>()</code> <div class="block">Returns the type of storable this index applies to.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getTypeDescriptor()">getTypeDescriptor</a></strong>()</code> <div class="block">Converts this index into a parseable type descriptor string, which basically consists of Java type descriptors appended together.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#hashCode()">hashCode</a></strong>()</code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#isClustered()">isClustered</a></strong>()</code> <div class="block">Returns true if index is known to be clustered, which means it defines the physical ordering of storables.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#isUnique()">isUnique</a></strong>()</code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static <S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>> <br><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><S></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#parseNameDescriptor(java.lang.String, com.amazon.carbonado.info.StorableInfo)">parseNameDescriptor</a></strong>(java.lang.String desc, <a href="../../../../com/amazon/carbonado/info/StorableInfo.html" title="interface in com.amazon.carbonado.info">StorableInfo</a><S> info)</code> <div class="block">Parses an index descriptor and returns an index object.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#reverse()">reverse</a></strong>()</code> <div class="block">Returns a StorableIndex instance with all the properties reversed.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#setDefaultDirection(com.amazon.carbonado.info.Direction)">setDefaultDirection</a></strong>(<a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</code> <div class="block">Returns a StorableIndex instance with all unspecified directions set to the given direction.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#toString()">toString</a></strong>()</code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#unique(boolean)">unique</a></strong>(boolean unique)</code> <div class="block">Returns a StorableIndex instance which is unique or not.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#uniquify(com.amazon.carbonado.info.StorableKey)">uniquify</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableKey.html" title="interface in com.amazon.carbonado.info">StorableKey</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> key)</code> <div class="block">Returns a StorableIndex which is unique, possibly by appending properties from the given key.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="StorableIndex(com.amazon.carbonado.info.StorableProperty[], com.amazon.carbonado.info.Direction[])"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>StorableIndex</h4> <pre>public StorableIndex(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] directions)</pre> <div class="block">Creates a StorableIndex from the given properties and matching directions. Both arrays must match length.</div> <dl><dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - if any argument is null, if lengths do not match, or if any length is zero.</dd></dl> </li> </ul> <a name="StorableIndex(com.amazon.carbonado.info.StorableProperty[], com.amazon.carbonado.info.Direction[], boolean)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>StorableIndex</h4> <pre>public StorableIndex(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] directions, boolean unique)</pre> <div class="block">Creates a StorableIndex from the given properties and matching directions. Both arrays must match length. Allows specification of the uniqueness of the index.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>properties</code> - </dd><dd><code>directions</code> - </dd><dd><code>unique</code> - </dd></dl> </li> </ul> <a name="StorableIndex(com.amazon.carbonado.info.StorableProperty[], com.amazon.carbonado.info.Direction[], boolean, boolean)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>StorableIndex</h4> <pre>public StorableIndex(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] directions, boolean unique, boolean clustered)</pre> <div class="block">Creates a StorableIndex from the given properties and matching directions. Both arrays must match length. Allows specification of the uniqueness of the index as well as clustered option.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>properties</code> - </dd><dd><code>directions</code> - </dd><dd><code>unique</code> - </dd><dd><code>clustered</code> - </dd></dl> </li> </ul> <a name="StorableIndex(com.amazon.carbonado.info.StorableKey, com.amazon.carbonado.info.Direction)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>StorableIndex</h4> <pre>public StorableIndex(<a href="../../../../com/amazon/carbonado/info/StorableKey.html" title="interface in com.amazon.carbonado.info">StorableKey</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> key, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</pre> <div class="block">Creates a StorableIndex from a StorableKey.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>direction</code> - optional direction to apply to each key property that has an unspecified direction</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - if key is null or it has no properties</dd></dl> </li> </ul> <a name="StorableIndex(com.amazon.carbonado.info.OrderedProperty[], com.amazon.carbonado.info.Direction)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>StorableIndex</h4> <pre>public StorableIndex(<a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] properties, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</pre> <div class="block">Creates a StorableIndex from OrderedProperties.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>direction</code> - optional direction to apply to each property that has an unspecified direction</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - if no properties supplied</dd></dl> </li> </ul> <a name="StorableIndex(java.lang.Class, com.amazon.carbonado.capability.IndexInfo)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>StorableIndex</h4> <pre>public StorableIndex(java.lang.Class<<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> type, <a href="../../../../com/amazon/carbonado/capability/IndexInfo.html" title="interface in com.amazon.carbonado.capability">IndexInfo</a> indexInfo)</pre> <div class="block">Creates a StorableIndex from an IndexInfo.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>type</code> - type of storable index is defined for</dd><dd><code>indexInfo</code> - IndexInfo returned from storage object</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - if any argument is null, if any properties are invalid, or if index info has no properties</dd></dl> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method_detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="parseNameDescriptor(java.lang.String, com.amazon.carbonado.info.StorableInfo)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>parseNameDescriptor</h4> <pre>public static <S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>> <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><S> parseNameDescriptor(java.lang.String desc, <a href="../../../../com/amazon/carbonado/info/StorableInfo.html" title="interface in com.amazon.carbonado.info">StorableInfo</a><S> info) throws java.lang.IllegalArgumentException</pre> <div class="block">Parses an index descriptor and returns an index object.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>desc</code> - name descriptor, as created by <a href="../../../../com/amazon/carbonado/info/StorableIndex.html#getNameDescriptor()"><code>getNameDescriptor()</code></a></dd><dd><code>info</code> - info on storable type</dd> <dt><span class="strong">Returns:</span></dt><dd>index represented by descriptor</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.IllegalArgumentException</code> - if error in descriptor syntax or if it refers to unknown properties</dd></dl> </li> </ul> <a name="getStorableType()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getStorableType</h4> <pre>public java.lang.Class<<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> getStorableType()</pre> <div class="block">Returns the type of storable this index applies to.</div> </li> </ul> <a name="getPropertyCount()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPropertyCount</h4> <pre>public int getPropertyCount()</pre> <div class="block">Returns the count of properties in this index.</div> </li> </ul> <a name="getProperty(int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getProperty</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> getProperty(int index)</pre> <div class="block">Returns a specific property in this index.</div> </li> </ul> <a name="getProperties()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getProperties</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] getProperties()</pre> <div class="block">Returns a new array with all the properties in it.</div> </li> </ul> <a name="getPropertyDirection(int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPropertyDirection</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> getPropertyDirection(int index)</pre> <div class="block">Returns the requested direction of a specific property in this index.</div> </li> </ul> <a name="getPropertyDirections()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPropertyDirections</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a>[] getPropertyDirections()</pre> <div class="block">Returns a new array with all the property directions in it.</div> </li> </ul> <a name="getOrderedProperty(int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getOrderedProperty</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> getOrderedProperty(int index)</pre> <div class="block">Returns a specific property in this index, with the direction folded in.</div> </li> </ul> <a name="getOrderedProperties()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getOrderedProperties</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>>[] getOrderedProperties()</pre> <div class="block">Returns a new array with all the properties in it, with directions folded in.</div> </li> </ul> <a name="isUnique()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isUnique</h4> <pre>public boolean isUnique()</pre> </li> </ul> <a name="isClustered()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isClustered</h4> <pre>public boolean isClustered()</pre> <div class="block">Returns true if index is known to be clustered, which means it defines the physical ordering of storables.</div> </li> </ul> <a name="unique(boolean)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>unique</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> unique(boolean unique)</pre> <div class="block">Returns a StorableIndex instance which is unique or not.</div> </li> </ul> <a name="clustered(boolean)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>clustered</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> clustered(boolean clustered)</pre> <div class="block">Returns a StorableIndex instance which is clustered or not.</div> </li> </ul> <a name="reverse()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>reverse</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> reverse()</pre> <div class="block">Returns a StorableIndex instance with all the properties reversed.</div> </li> </ul> <a name="setDefaultDirection(com.amazon.carbonado.info.Direction)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setDefaultDirection</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> setDefaultDirection(<a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</pre> <div class="block">Returns a StorableIndex instance with all unspecified directions set to the given direction. Returns this if all directions are already specified.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>direction</code> - direction to replace all unspecified directions</dd></dl> </li> </ul> <a name="addProperty(com.amazon.carbonado.info.StorableProperty, com.amazon.carbonado.info.Direction)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>addProperty</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> addProperty(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> property, <a href="../../../../com/amazon/carbonado/info/Direction.html" title="enum in com.amazon.carbonado.info">Direction</a> direction)</pre> <div class="block">Returns a StorableIndex with the given property added. If this index already contained the given property (regardless of sort direction), this index is returned.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>property</code> - property to add unless already in this index</dd><dd><code>direction</code> - direction to apply to property, if added</dd> <dt><span class="strong">Returns:</span></dt><dd>new index with added property or this if index already contained property</dd></dl> </li> </ul> <a name="uniquify(com.amazon.carbonado.info.StorableKey)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>uniquify</h4> <pre>public <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> uniquify(<a href="../../../../com/amazon/carbonado/info/StorableKey.html" title="interface in com.amazon.carbonado.info">StorableKey</a><<a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="type parameter in StorableIndex">S</a>> key)</pre> <div class="block">Returns a StorableIndex which is unique, possibly by appending properties from the given key. If index is already unique, it is returned as-is.</div> </li> </ul> <a name="getNameDescriptor()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getNameDescriptor</h4> <pre>public java.lang.String getNameDescriptor()</pre> <div class="block">Converts this index into a parseable name descriptor string, whose general format is: <p><code><storable type>~<attr><+|-|~><property><+|-|~><property>...</code> <p>Attr is "U" for a unique index, "N" for a non-unique index. <p>Example: <code>my.pkg.UserInfo~N+lastName+firstName-birthDate</code></div> <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../com/amazon/carbonado/info/StorableIndex.html#parseNameDescriptor(java.lang.String, com.amazon.carbonado.info.StorableInfo)"><code>parseNameDescriptor(String, StorableInfo)</code></a></dd></dl> </li> </ul> <a name="getTypeDescriptor()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getTypeDescriptor</h4> <pre>public java.lang.String getTypeDescriptor()</pre> <div class="block">Converts this index into a parseable type descriptor string, which basically consists of Java type descriptors appended together. There is one slight difference. Types which may be null are prefixed with a 'N' character.</div> </li> </ul> <a name="hashCode()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>hashCode</h4> <pre>public int hashCode()</pre> <dl> <dt><strong>Overrides:</strong></dt> <dd><code>hashCode</code> in class <code>java.lang.Object</code></dd> </dl> </li> </ul> <a name="equals(java.lang.Object)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>equals</h4> <pre>public boolean equals(java.lang.Object obj)</pre> <dl> <dt><strong>Overrides:</strong></dt> <dd><code>equals</code> in class <code>java.lang.Object</code></dd> </dl> </li> </ul> <a name="toString()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>toString</h4> <pre>public java.lang.String toString()</pre> <dl> <dt><strong>Overrides:</strong></dt> <dd><code>toString</code> in class <code>java.lang.Object</code></dd> </dl> </li> </ul> <a name="appendTo(java.lang.Appendable)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>appendTo</h4> <pre>public void appendTo(java.lang.Appendable app) throws java.io.IOException</pre> <div class="block">Appends the same results as toString, but without the "StorableIndex" prefix.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code><a href="../../../../com/amazon/carbonado/util/Appender.html#appendTo(java.lang.Appendable)">appendTo</a></code> in interface <code><a href="../../../../com/amazon/carbonado/util/Appender.html" title="interface in com.amazon.carbonado.util">Appender</a></code></dd> <dt><span class="strong">Parameters:</span></dt><dd><code>app</code> - Appendable object to receive string representation</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.io.IOException</code> - if thrown from given Appendable</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/StorableIndex.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/info/OrderedProperty.html" title="class in com.amazon.carbonado.info"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../com/amazon/carbonado/info/StorableInfo.html" title="interface in com.amazon.carbonado.info"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/amazon/carbonado/info/StorableIndex.html" target="_top">Frames</a></li> <li><a href="StorableIndex.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><a href="#constructor_summary">Constr</a> | </li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor_detail">Constr</a> | </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>