<!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:44 PST 2013 --> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>KeyEncoder (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="KeyEncoder (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/KeyEncoder.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/raw/KeyDecoder.html" title="class in com.amazon.carbonado.raw"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../com/amazon/carbonado/raw/RawCursor.html" title="class in com.amazon.carbonado.raw"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/amazon/carbonado/raw/KeyEncoder.html" target="_top">Frames</a></li> <li><a href="KeyEncoder.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.raw</div> <h2 title="Class KeyEncoder" class="title">Class KeyEncoder</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>com.amazon.carbonado.raw.KeyEncoder</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public class <span class="strong">KeyEncoder</span> extends java.lang.Object</pre> <div class="block">A very low-level class that supports encoding of primitive data into unique, sortable byte array keys. If the data to encode is of a variable size, then it is written in base-32768, using only byte values 32..223. This allows special values such as nulls and terminators to be unambiguously encoded. Terminators for variable data can be encoded using 1 for ascending order and 254 for descending order. Nulls can be encoded as 255 for high ordering and 0 for low ordering.</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/raw/KeyDecoder.html" title="class in com.amazon.carbonado.raw"><code>KeyDecoder</code></a>, <a href="../../../../com/amazon/carbonado/raw/DataEncoder.html" title="class in com.amazon.carbonado.raw"><code>DataEncoder</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/raw/KeyEncoder.html#KeyEncoder()">KeyEncoder</a></strong>()</code> </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>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#calculateEncodedLength(java.math.BigDecimal)">calculateEncodedLength</a></strong>(java.math.BigDecimal value)</code> <div class="block">Returns the amount of bytes required to encode a BigDecimal.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#calculateEncodedLength(java.math.BigInteger)">calculateEncodedLength</a></strong>(java.math.BigInteger value)</code> <div class="block">Returns the amount of bytes required to encode a BigInteger.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#calculateEncodedLength(byte[])">calculateEncodedLength</a></strong>(byte[] value)</code> <div class="block">Returns the amount of bytes required to encode a byte array of the given length.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#calculateEncodedLength(byte[], int, int)">calculateEncodedLength</a></strong>(byte[] value, int valueOffset, int valueLength)</code> <div class="block">Returns the amount of bytes required to encode the given byte array.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#calculateEncodedStringLength(java.lang.String)">calculateEncodedStringLength</a></strong>(java.lang.String value)</code> <div class="block">Returns the amount of bytes required to encode the given String.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encode(java.math.BigDecimal, byte[], int)">encode</a></strong>(java.math.BigDecimal value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional BigDecimal into a variable amount of bytes.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encode(java.math.BigInteger, byte[], int)">encode</a></strong>(java.math.BigInteger value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional BigInteger into a variable amount of bytes.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encode(byte[], byte[], int)">encode</a></strong>(byte[] value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encode(byte[], int, int, byte[], int)">encode</a></strong>(byte[] value, int valueOffset, int valueLength, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encode(java.lang.String, byte[], int)">encode</a></strong>(java.lang.String value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional String into a variable amount of bytes.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.math.BigDecimal, byte[], int)">encodeDesc</a></strong>(java.math.BigDecimal value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional BigDecimal into a variable amount of bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.math.BigInteger, byte[], int)">encodeDesc</a></strong>(java.math.BigInteger value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional BigInteger into a variable amount of bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(boolean, byte[], int)">encodeDesc</a></strong>(boolean value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given boolean into exactly 1 byte for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Boolean, byte[], int)">encodeDesc</a></strong>(java.lang.Boolean value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given Boolean object into exactly 1 byte for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(byte[], byte[], int)">encodeDesc</a></strong>(byte[] value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(byte[], int, int, byte[], int)">encodeDesc</a></strong>(byte[] value, int valueOffset, int valueLength, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(byte, byte[], int)">encodeDesc</a></strong>(byte value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed byte into exactly 1 byte for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Byte, byte[], int)">encodeDesc</a></strong>(java.lang.Byte value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed Byte object into exactly 1 or 2 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Character, byte[], int)">encodeDesc</a></strong>(java.lang.Character value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given Character object into exactly 1 or 3 bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(char, byte[], int)">encodeDesc</a></strong>(char value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given character into exactly 2 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(double, byte[], int)">encodeDesc</a></strong>(double value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given double into exactly 8 bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Double, byte[], int)">encodeDesc</a></strong>(java.lang.Double value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given Double object into exactly 8 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(float, byte[], int)">encodeDesc</a></strong>(float value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given float into exactly 4 bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Float, byte[], int)">encodeDesc</a></strong>(java.lang.Float value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given Float object into exactly 4 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(int, byte[], int)">encodeDesc</a></strong>(int value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed integer into exactly 4 bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Integer, byte[], int)">encodeDesc</a></strong>(java.lang.Integer value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed Integer object into exactly 1 or 5 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(long, byte[], int)">encodeDesc</a></strong>(long value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed long into exactly 8 bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Long, byte[], int)">encodeDesc</a></strong>(java.lang.Long value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed Long object into exactly 1 or 9 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(short, byte[], int)">encodeDesc</a></strong>(short value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed short into exactly 2 bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.Short, byte[], int)">encodeDesc</a></strong>(java.lang.Short value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given signed Short object into exactly 1 or 3 bytes for descending order.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static int</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeDesc(java.lang.String, byte[], int)">encodeDesc</a></strong>(java.lang.String value, byte[] dst, int dstOffset)</code> <div class="block">Encodes the given optional String into a variable amount of bytes for descending order.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static byte[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeSingleDesc(byte[])">encodeSingleDesc</a></strong>(byte[] value)</code> <div class="block">Encodes the given byte array for use when there is only a single required property, descending order, whose type is a byte array.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static byte[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeSingleDesc(byte[], int, int)">encodeSingleDesc</a></strong>(byte[] value, int prefixPadding, int suffixPadding)</code> <div class="block">Encodes the given byte array for use when there is only a single required property, descending order, whose type is a byte array.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static byte[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeSingleNullableDesc(byte[])">encodeSingleNullableDesc</a></strong>(byte[] value)</code> <div class="block">Encodes the given byte array for use when there is only a single nullable property, descending order, whose type is a byte array.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>static byte[]</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/KeyEncoder.html#encodeSingleNullableDesc(byte[], int, int)">encodeSingleNullableDesc</a></strong>(byte[] value, int prefixPadding, int suffixPadding)</code> <div class="block">Encodes the given byte array for use when there is only a single nullable property, descending order, whose type is a byte array.</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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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="KeyEncoder()"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>KeyEncoder</h4> <pre>public KeyEncoder()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method_detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="encodeDesc(int, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(int value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed integer into exactly 4 bytes for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - signed integer value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Integer, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.lang.Integer value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed Integer object into exactly 1 or 5 bytes for descending order. If the Integer object is never expected to be null, consider encoding as an int primitive.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional signed Integer value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(long, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(long value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed long into exactly 8 bytes for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - signed long value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Long, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.lang.Long value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed Long object into exactly 1 or 9 bytes for descending order. If the Long object is never expected to be null, consider encoding as a long primitive.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional signed Long value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(byte, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(byte value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed byte into exactly 1 byte for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - signed byte value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Byte, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.lang.Byte value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed Byte object into exactly 1 or 2 bytes for descending order. If the Byte object is never expected to be null, consider encoding as a byte primitive.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional signed Byte value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(short, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(short value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed short into exactly 2 bytes for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - signed short value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Short, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.lang.Short value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given signed Short object into exactly 1 or 3 bytes for descending order. If the Short object is never expected to be null, consider encoding as a short primitive.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional signed Short value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(char, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(char value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given character into exactly 2 bytes for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - character value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Character, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.lang.Character value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given Character object into exactly 1 or 3 bytes for descending order. If the Character object is never expected to be null, consider encoding as a char primitive.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional Character value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(boolean, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(boolean value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given boolean into exactly 1 byte for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - boolean value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Boolean, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(java.lang.Boolean value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given Boolean object into exactly 1 byte for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional Boolean value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(float, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(float value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given float into exactly 4 bytes for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - float value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Float, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(java.lang.Float value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given Float object into exactly 4 bytes for descending order. A non-canonical NaN value is used to represent null.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional Float value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(double, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(double value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given double into exactly 8 bytes for descending order.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - double value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.Double, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static void encodeDesc(java.lang.Double value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given Double object into exactly 8 bytes for descending order. A non-canonical NaN value is used to represent null.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - optional Double value to encode</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd></dl> </li> </ul> <a name="encode(java.math.BigInteger, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encode</h4> <pre>public static int encode(java.math.BigInteger value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional BigInteger into a variable amount of bytes. If the BigInteger is null, exactly 1 byte is written. Otherwise, the amount written can be determined by calling calculateEncodedLength.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - BigInteger value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd><dt><span class="strong">Since:</span></dt> <dd>1.2</dd></dl> </li> </ul> <a name="encodeDesc(java.math.BigInteger, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.math.BigInteger value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional BigInteger into a variable amount of bytes for descending order. If the BigInteger is null, exactly 1 byte is written. Otherwise, the amount written can be determined by calling calculateEncodedLength.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - BigInteger value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd><dt><span class="strong">Since:</span></dt> <dd>1.2</dd></dl> </li> </ul> <a name="calculateEncodedLength(java.math.BigInteger)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>calculateEncodedLength</h4> <pre>public static int calculateEncodedLength(java.math.BigInteger value)</pre> <div class="block">Returns the amount of bytes required to encode a BigInteger.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - BigInteger value to encode, may be null</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes needed to encode</dd><dt><span class="strong">Since:</span></dt> <dd>1.2</dd></dl> </li> </ul> <a name="encode(java.math.BigDecimal, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encode</h4> <pre>public static int encode(java.math.BigDecimal value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional BigDecimal into a variable amount of bytes. If the BigDecimal is null, exactly 1 byte is written. Otherwise, the amount written can be determined by calling calculateEncodedLength. <p><i>Note:</i> It is recommended that value be normalized by stripping trailing zeros. This makes searching by value much simpler.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - BigDecimal value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd><dt><span class="strong">Since:</span></dt> <dd>1.2</dd></dl> </li> </ul> <a name="encodeDesc(java.math.BigDecimal, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.math.BigDecimal value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional BigDecimal into a variable amount of bytes for descending order. If the BigDecimal is null, exactly 1 byte is written. Otherwise, the amount written can be determined by calling calculateEncodedLength. <p><i>Note:</i> It is recommended that value be normalized by stripping trailing zeros. This makes searching by value much simpler.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - BigDecimal value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd><dt><span class="strong">Since:</span></dt> <dd>1.2</dd></dl> </li> </ul> <a name="calculateEncodedLength(java.math.BigDecimal)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>calculateEncodedLength</h4> <pre>public static int calculateEncodedLength(java.math.BigDecimal value)</pre> <div class="block">Returns the amount of bytes required to encode a BigDecimal. <p><i>Note:</i> It is recommended that value be normalized by stripping trailing zeros. This makes searching by value much simpler.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - BigDecimal value to encode, may be null</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes needed to encode</dd><dt><span class="strong">Since:</span></dt> <dd>1.2</dd></dl> </li> </ul> <a name="encode(byte[], byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encode</h4> <pre>public static int encode(byte[] value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes. If the byte array is null, exactly 1 byte is written. Otherwise, the amount written can be determined by calling calculateEncodedLength.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - byte array value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encode(byte[], int, int, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encode</h4> <pre>public static int encode(byte[] value, int valueOffset, int valueLength, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes. If the byte array is null, exactly 1 byte is written. Otherwise, the amount written can be determined by calling calculateEncodedLength.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - byte array value to encode, may be null</dd><dd><code>valueOffset</code> - offset into byte array</dd><dd><code>valueLength</code> - length of data in byte array</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(byte[], byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(byte[] value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes for descending order. If the byte array is null, exactly 1 byte is written. Otherwise, the amount written is determined by calling calculateEncodedLength.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - byte array value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(byte[], int, int, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(byte[] value, int valueOffset, int valueLength, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional unsigned byte array into a variable amount of bytes for descending order. If the byte array is null, exactly 1 byte is written. Otherwise, the amount written is determined by calling calculateEncodedLength.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - byte array value to encode, may be null</dd><dd><code>valueOffset</code> - offset into byte array</dd><dd><code>valueLength</code> - length of data in byte array</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="calculateEncodedLength(byte[])"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>calculateEncodedLength</h4> <pre>public static int calculateEncodedLength(byte[] value)</pre> <div class="block">Returns the amount of bytes required to encode a byte array of the given length.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - byte array value to encode, may be null</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes needed to encode</dd></dl> </li> </ul> <a name="calculateEncodedLength(byte[], int, int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>calculateEncodedLength</h4> <pre>public static int calculateEncodedLength(byte[] value, int valueOffset, int valueLength)</pre> <div class="block">Returns the amount of bytes required to encode the given byte array.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - byte array value to encode, may be null</dd><dd><code>valueOffset</code> - offset into byte array</dd><dd><code>valueLength</code> - length of data in byte array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes needed to encode</dd></dl> </li> </ul> <a name="encode(java.lang.String, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encode</h4> <pre>public static int encode(java.lang.String value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional String into a variable amount of bytes. The amount written can be determined by calling calculateEncodedStringLength. <p> Strings are encoded in a fashion similar to UTF-8, in that ASCII characters are usually written in one byte. This encoding is more efficient than UTF-8, but it isn't compatible with UTF-8.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - String value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="encodeDesc(java.lang.String, byte[], int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeDesc</h4> <pre>public static int encodeDesc(java.lang.String value, byte[] dst, int dstOffset)</pre> <div class="block">Encodes the given optional String into a variable amount of bytes for descending order. The amount written can be determined by calling calculateEncodedStringLength. <p> Strings are encoded in a fashion similar to UTF-8, in that ASCII characters are usually written in one byte. This encoding is more efficient than UTF-8, but it isn't compatible with UTF-8.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - String value to encode, may be null</dd><dd><code>dst</code> - destination for encoded bytes</dd><dd><code>dstOffset</code> - offset into destination array</dd> <dt><span class="strong">Returns:</span></dt><dd>amount of bytes written</dd></dl> </li> </ul> <a name="calculateEncodedStringLength(java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>calculateEncodedStringLength</h4> <pre>public static int calculateEncodedStringLength(java.lang.String value)</pre> <div class="block">Returns the amount of bytes required to encode the given String.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - String to encode, may be null</dd></dl> </li> </ul> <a name="encodeSingleDesc(byte[])"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeSingleDesc</h4> <pre>public static byte[] encodeSingleDesc(byte[] value)</pre> <div class="block">Encodes the given byte array for use when there is only a single required property, descending order, whose type is a byte array. The original byte array is returned if the length is zero.</div> </li> </ul> <a name="encodeSingleDesc(byte[], int, int)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeSingleDesc</h4> <pre>public static byte[] encodeSingleDesc(byte[] value, int prefixPadding, int suffixPadding)</pre> <div class="block">Encodes the given byte array for use when there is only a single required property, descending order, whose type is a byte array. The original byte array is returned if the length and padding lengths are zero.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>prefixPadding</code> - amount of extra bytes to allocate at start of encoded byte array</dd><dd><code>suffixPadding</code> - amount of extra bytes to allocate at end of encoded byte array</dd></dl> </li> </ul> <a name="encodeSingleNullableDesc(byte[])"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encodeSingleNullableDesc</h4> <pre>public static byte[] encodeSingleNullableDesc(byte[] value)</pre> <div class="block">Encodes the given byte array for use when there is only a single nullable property, descending order, whose type is a byte array.</div> </li> </ul> <a name="encodeSingleNullableDesc(byte[], int, int)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>encodeSingleNullableDesc</h4> <pre>public static byte[] encodeSingleNullableDesc(byte[] value, int prefixPadding, int suffixPadding)</pre> <div class="block">Encodes the given byte array for use when there is only a single nullable property, descending order, whose type is a byte array.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>prefixPadding</code> - amount of extra bytes to allocate at start of encoded byte array</dd><dd><code>suffixPadding</code> - amount of extra bytes to allocate at end of encoded byte array</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/KeyEncoder.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/raw/KeyDecoder.html" title="class in com.amazon.carbonado.raw"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../com/amazon/carbonado/raw/RawCursor.html" title="class in com.amazon.carbonado.raw"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/amazon/carbonado/raw/KeyEncoder.html" target="_top">Frames</a></li> <li><a href="KeyEncoder.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>