diff options
Diffstat (limited to 'apidocs/com/amazon/carbonado/raw/GenericEncodingStrategy.html')
-rw-r--r-- | apidocs/com/amazon/carbonado/raw/GenericEncodingStrategy.html | 1000 |
1 files changed, 1000 insertions, 0 deletions
diff --git a/apidocs/com/amazon/carbonado/raw/GenericEncodingStrategy.html b/apidocs/com/amazon/carbonado/raw/GenericEncodingStrategy.html new file mode 100644 index 0000000..9e13630 --- /dev/null +++ b/apidocs/com/amazon/carbonado/raw/GenericEncodingStrategy.html @@ -0,0 +1,1000 @@ +<!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>GenericEncodingStrategy (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="GenericEncodingStrategy (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/GenericEncodingStrategy.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/DataEncoder.html" title="class in com.amazon.carbonado.raw"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../../com/amazon/carbonado/raw/GenericInstanceFactory.html" title="interface 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/GenericEncodingStrategy.html" target="_top">Frames</a></li> +<li><a href="GenericEncodingStrategy.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 GenericEncodingStrategy" class="title">Class GenericEncodingStrategy<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.raw.GenericEncodingStrategy<S></li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>Direct Known Subclasses:</dt> +<dd><a href="../../../../com/amazon/carbonado/raw/CompressedEncodingStrategy.html" title="class in com.amazon.carbonado.raw">CompressedEncodingStrategy</a></dd> +</dl> +<hr> +<br> +<pre>public class <span class="strong">GenericEncodingStrategy<S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>></span> +extends java.lang.Object</pre> +<div class="block">Generates bytecode instructions for encoding/decoding Storable properties + to/from raw bytes. + + <p>Note: subclasses must override and specialize the hashCode and equals + methods. Failure to do so interferes with <a href="../../../../com/amazon/carbonado/raw/StorableCodecFactory.html" title="interface in com.amazon.carbonado.raw"><code>StorableCodecFactory</code></a>'s + generated code cache.</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"> +<!-- ======== 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/GenericEncodingStrategy.html#GenericEncodingStrategy(java.lang.Class, com.amazon.carbonado.info.StorableIndex)">GenericEncodingStrategy</a></strong>(java.lang.Class<<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> type, + <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> pkIndex)</code> </td> +</tr> +<tr class="rowColor"> +<td class="colOne"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#GenericEncodingStrategy(java.lang.Class, com.amazon.carbonado.info.StorableIndex, int, int, int, int)">GenericEncodingStrategy</a></strong>(java.lang.Class<<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> type, + <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> pkIndex, + int keyPrefixPadding, + int keySuffixPadding, + int dataPrefixPadding, + int dataSuffixPadding)</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>void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#buildDataDecoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, int, org.cojen.classfile.Label, org.cojen.classfile.LocalVariable)">buildDataDecoding</a></strong>(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useWriteMethods, + int generation, + org.cojen.classfile.Label altGenerationHandler, + org.cojen.classfile.LocalVariable encodedVar)</code> +<div class="block">Generates bytecode instructions to decode properties.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>org.cojen.classfile.LocalVariable</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#buildDataEncoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, int)">buildDataEncoding</a></strong>(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useReadMethods, + int generation)</code> +<div class="block">Generates bytecode instructions to encode properties.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#buildKeyDecoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.OrderedProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, org.cojen.classfile.LocalVariable)">buildKeyDecoding</a></strong>(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useWriteMethods, + org.cojen.classfile.LocalVariable encodedVar)</code> +<div class="block">Generates bytecode instructions to decode properties.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>org.cojen.classfile.LocalVariable</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#buildKeyEncoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.OrderedProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, org.cojen.classfile.LocalVariable, org.cojen.classfile.LocalVariable)">buildKeyEncoding</a></strong>(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useReadMethods, + org.cojen.classfile.LocalVariable partialStartVar, + org.cojen.classfile.LocalVariable partialEndVar)</code> +<div class="block">Generates bytecode instructions to encode properties.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#buildSerialDecoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[], org.cojen.classfile.LocalVariable)">buildSerialDecoding</a></strong>(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable encodedVar)</code> +<div class="block">Generates bytecode instructions to decode properties and their states.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>org.cojen.classfile.LocalVariable</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#buildSerialEncoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[])">buildSerialEncoding</a></strong>(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties)</code> +<div class="block">Generates bytecode instructions to encode properties and their + states.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a></code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#checkSupport(com.amazon.carbonado.info.StorableProperty)">checkSupport</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> property)</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a>[]</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#checkSupport(com.amazon.carbonado.info.StorableProperty[])">checkSupport</a></strong>(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties)</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#equals(java.lang.Object)">equals</a></strong>(java.lang.Object obj)</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#extraDataDecoding(org.cojen.classfile.CodeAssembler, org.cojen.classfile.LocalVariable, int, int)">extraDataDecoding</a></strong>(org.cojen.classfile.CodeAssembler a, + org.cojen.classfile.LocalVariable dataVar, + int prefix, + int suffix)</code> +<div class="block">Second phase decoding, which does nothing by default.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#extraDataEncoding(org.cojen.classfile.CodeAssembler, org.cojen.classfile.LocalVariable, int, int)">extraDataEncoding</a></strong>(org.cojen.classfile.CodeAssembler a, + org.cojen.classfile.LocalVariable dataVar, + int prefix, + int suffix)</code> +<div class="block">Second phase encoding, which does nothing by default.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[]</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#gatherAllDataProperties()">gatherAllDataProperties</a></strong>()</code> +<div class="block">Returns all non-derived data properties for storable.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[]</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#gatherAllKeyProperties()">gatherAllKeyProperties</a></strong>()</code> +<div class="block">Returns all key properties as ordered properties, possibly with + unspecified directions.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[]</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#gatherAllProperties()">gatherAllProperties</a></strong>()</code> +<div class="block">Returns all non-join, non-derived properties for storable.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getConstantKeyPrefixLength()">getConstantKeyPrefixLength</a></strong>()</code> +<div class="block">Returns amount of prefix key bytes that encoding strategy instance + produces which are always the same.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getDataPrefixPadding()">getDataPrefixPadding</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getDataSuffixPadding()">getDataSuffixPadding</a></strong>()</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getKeyPrefixPadding()">getKeyPrefixPadding</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getKeySuffixPadding()">getKeySuffixPadding</a></strong>()</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getPrimaryKeyIndex()">getPrimaryKeyIndex</a></strong>()</code> +<div class="block">Returns all key properties in the form of an index.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>java.lang.Class<<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#getType()">getType</a></strong>()</code> +<div class="block">Returns the type of Storable that code is generated for.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#hashCode()">hashCode</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#isSupported(java.lang.Class)">isSupported</a></strong>(java.lang.Class<?> propertyType)</code> +<div class="block">Returns true if the type of the given property type is supported.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#isSupported(org.cojen.classfile.TypeDesc)">isSupported</a></strong>(org.cojen.classfile.TypeDesc propertyType)</code> +<div class="block">Returns true if the type of the given property type is supported.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#loadPropertyValue(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, int, boolean, org.cojen.classfile.LocalVariable, java.lang.Class, org.cojen.classfile.LocalVariable)">loadPropertyValue</a></strong>(org.cojen.classfile.CodeAssembler a, + <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> info, + int ordinal, + boolean useReadMethod, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + org.cojen.classfile.LocalVariable partialStartVar)</code> +<div class="block">Generates code to load a property value onto the operand stack.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#loadPropertyValue(org.cojen.classfile.LocalVariable[], java.lang.Boolean[], org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, int, boolean, org.cojen.classfile.LocalVariable, java.lang.Class, org.cojen.classfile.LocalVariable)">loadPropertyValue</a></strong>(org.cojen.classfile.LocalVariable[] stashedProperties, + java.lang.Boolean[] stashedFromInstances, + org.cojen.classfile.CodeAssembler a, + <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> info, + int ordinal, + boolean useReadMethod, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + org.cojen.classfile.LocalVariable partialStartVar)</code> +<div class="block">Generates code to load a property value onto the operand stack.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#pushDecodingInstanceVar(org.cojen.classfile.CodeAssembler, int, org.cojen.classfile.LocalVariable)">pushDecodingInstanceVar</a></strong>(org.cojen.classfile.CodeAssembler a, + int ordinal, + org.cojen.classfile.LocalVariable instanceVar)</code> +<div class="block">Push decoding instanceVar to stack in preparation to calling + storePropertyValue.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#pushRawSupport(org.cojen.classfile.CodeAssembler, org.cojen.classfile.LocalVariable)">pushRawSupport</a></strong>(org.cojen.classfile.CodeAssembler a, + org.cojen.classfile.LocalVariable instanceVar)</code> +<div class="block">Generates code to push RawSupport instance to the stack.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#storePropertyValue(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, boolean, org.cojen.classfile.LocalVariable, java.lang.Class)">storePropertyValue</a></strong>(org.cojen.classfile.CodeAssembler a, + <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> info, + boolean useWriteMethod, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass)</code> +<div class="block">Generates code to store a property value into an instance which is + already on the operand stack.</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, 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="GenericEncodingStrategy(java.lang.Class, com.amazon.carbonado.info.StorableIndex)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>GenericEncodingStrategy</h4> +<pre>public GenericEncodingStrategy(java.lang.Class<<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> type, + <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> pkIndex)</pre> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>type</code> - type of Storable to generate code for</dd><dd><code>pkIndex</code> - specifies sequence and ordering of key properties (optional)</dd></dl> +</li> +</ul> +<a name="GenericEncodingStrategy(java.lang.Class, com.amazon.carbonado.info.StorableIndex, int, int, int, int)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>GenericEncodingStrategy</h4> +<pre>public GenericEncodingStrategy(java.lang.Class<<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> type, + <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> pkIndex, + int keyPrefixPadding, + int keySuffixPadding, + int dataPrefixPadding, + int dataSuffixPadding)</pre> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>type</code> - type of Storable to generate code for</dd><dd><code>pkIndex</code> - specifies sequence and ordering of key properties (optional)</dd><dd><code>keyPrefixPadding</code> - amount of padding bytes at start of keys</dd><dd><code>keySuffixPadding</code> - amount of padding bytes at end of keys</dd><dd><code>dataPrefixPadding</code> - amount of padding bytes at start of data values</dd><dd><code>dataSuffixPadding</code> - amount of padding bytes at end of data values</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="buildKeyEncoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.OrderedProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, org.cojen.classfile.LocalVariable, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildKeyEncoding</h4> +<pre>public org.cojen.classfile.LocalVariable buildKeyEncoding(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useReadMethods, + org.cojen.classfile.LocalVariable partialStartVar, + org.cojen.classfile.LocalVariable partialEndVar) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates bytecode instructions to encode properties. The encoding is + suitable for "key" encoding, which means it is correctly comparable. + + <p>Note: if a partialStartVar is provided and this strategy has a key + prefix, the prefix is allocated only if the runtime value of + partialStartVar is zero. Likewise, if a partialEndVar is provided and + this strategy has a key suffix, the suffix is allocated only of the + runtime value of partialEndVar is one less than the property count.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>assembler</code> - code assembler to receive bytecode instructions</dd><dd><code>properties</code> - specific properties to encode, defaults to all key + properties if null</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are read from the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dd><code>useReadMethods</code> - when true, access properties by public read + methods instead of protected fields - should be used if class being + generated doesn't have access to these fields</dd><dd><code>partialStartVar</code> - optional variable for supporting partial key + generation. It must be an int, whose runtime value must be less than the + properties array length. It marks the range start of the partial + property range.</dd><dd><code>partialEndVar</code> - optional variable for supporting partial key + generation. It must be an int, whose runtime value must be less than or + equal to the properties array length. It marks the range end (exclusive) + of the partial property range.</dd> +<dt><span class="strong">Returns:</span></dt><dd>local variable referencing a byte array with encoded key</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code> - if any property type is not supported</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if assembler is null, or if instanceVar + is not the correct instance type, or if partial variable types are not + ints</dd></dl> +</li> +</ul> +<a name="buildKeyDecoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.OrderedProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildKeyDecoding</h4> +<pre>public void buildKeyDecoding(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useWriteMethods, + org.cojen.classfile.LocalVariable encodedVar) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates bytecode instructions to decode properties. A + CorruptEncodingException may be thrown from generated code.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>assembler</code> - code assembler to receive bytecode instructions</dd><dd><code>properties</code> - specific properties to decode, defaults to all key + properties if null</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are placed into the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dd><code>useWriteMethods</code> - when true, set properties by public write + methods instead of protected fields - should be used if class being + generated doesn't have access to these fields</dd><dd><code>encodedVar</code> - required variable, which must be a byte array. At + runtime, it references an encoded key.</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code> - if any property type is not supported</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if assembler is null, or if instanceVar + is not the correct instance type, or if encodedVar is not a byte array</dd></dl> +</li> +</ul> +<a name="buildDataEncoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildDataEncoding</h4> +<pre>public org.cojen.classfile.LocalVariable buildDataEncoding(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useReadMethods, + int generation) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates bytecode instructions to encode properties. The encoding is + suitable for "data" encoding, which means it is not correctly + comparable, but it is more efficient than key encoding. Partial encoding + is not supported.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>assembler</code> - code assembler to receive bytecode instructions</dd><dd><code>properties</code> - specific properties to encode, defaults to all non-key + properties if null</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are read from the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dd><code>useReadMethods</code> - when true, access properties by public read + methods instead of protected fields</dd><dd><code>generation</code> - when non-negative, write a storable layout generation + value in one or four bytes. Generation 0..127 is encoded in one byte, and + 128..max is encoded in four bytes, with the most significant bit set.</dd> +<dt><span class="strong">Returns:</span></dt><dd>local variable referencing a byte array with encoded data</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code> - if any property type is not supported</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if assembler is null, or if instanceVar + is not the correct instance type</dd></dl> +</li> +</ul> +<a name="buildDataDecoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[], org.cojen.classfile.LocalVariable, java.lang.Class, boolean, int, org.cojen.classfile.Label, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildDataDecoding</h4> +<pre>public void buildDataDecoding(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + boolean useWriteMethods, + int generation, + org.cojen.classfile.Label altGenerationHandler, + org.cojen.classfile.LocalVariable encodedVar) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates bytecode instructions to decode properties. A + CorruptEncodingException may be thrown from generated code.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>assembler</code> - code assembler to receive bytecode instructions</dd><dd><code>properties</code> - specific properties to decode, defaults to all non-key + properties if null</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are placed into the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dd><code>useWriteMethods</code> - when true, set properties by public write + methods instead of protected fields - should be used if class being + generated doesn't have access to these fields</dd><dd><code>generation</code> - when non-negative, decoder expects a storable layout + generation value to match this value. Otherwise, it throws a + CorruptEncodingException.</dd><dd><code>altGenerationHandler</code> - if non-null and a generation is provided, + this label defines an alternate generation handler. It is executed + instead of throwing a CorruptEncodingException if the generation doesn't + match. The actual generation is available on the top of the stack for + the handler to consume.</dd><dd><code>encodedVar</code> - required variable, which must be a byte array. At + runtime, it references encoded data.</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code> - if any property type is not supported</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if assembler is null, or if instanceVar + is not the correct instance type, or if encodedVar is not a byte array</dd></dl> +</li> +</ul> +<a name="buildSerialEncoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[])"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildSerialEncoding</h4> +<pre>public org.cojen.classfile.LocalVariable buildSerialEncoding(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates bytecode instructions to encode properties and their + states. This encoding is suitable for short-term serialization only.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>assembler</code> - code assembler to receive bytecode instructions</dd><dd><code>properties</code> - specific properties to decode, defaults to all + properties if null</dd> +<dt><span class="strong">Returns:</span></dt><dd>local variable referencing a byte array with encoded data</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code> - if any property type is not supported</dd><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd></dl> +</li> +</ul> +<a name="buildSerialDecoding(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.info.StorableProperty[], org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildSerialDecoding</h4> +<pre>public void buildSerialDecoding(org.cojen.classfile.CodeAssembler assembler, + <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties, + org.cojen.classfile.LocalVariable encodedVar) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates bytecode instructions to decode properties and their states. A + CorruptEncodingException may be thrown from generated code.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>assembler</code> - code assembler to receive bytecode instructions</dd><dd><code>properties</code> - specific properties to decode, defaults to all + properties if null</dd><dd><code>encodedVar</code> - required variable, which must be a byte array. At + runtime, it references encoded data.</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code> - if any property type is not supported</dd> +<dd><code>java.lang.IllegalArgumentException</code> - if encodedVar is not a byte array</dd><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd></dl> +</li> +</ul> +<a name="getType()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getType</h4> +<pre>public final java.lang.Class<<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> getType()</pre> +<div class="block">Returns the type of Storable that code is generated for.</div> +</li> +</ul> +<a name="isSupported(java.lang.Class)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isSupported</h4> +<pre>public boolean isSupported(java.lang.Class<?> propertyType)</pre> +<div class="block">Returns true if the type of the given property type is supported. The + types currently supported are primitives, primitive wrapper objects, + Strings, and byte arrays.</div> +</li> +</ul> +<a name="isSupported(org.cojen.classfile.TypeDesc)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isSupported</h4> +<pre>public boolean isSupported(org.cojen.classfile.TypeDesc propertyType)</pre> +<div class="block">Returns true if the type of the given property type is supported. The + types currently supported are primitives, primitive wrapper objects, + Strings, byte arrays and Lobs.</div> +</li> +</ul> +<a name="getKeyPrefixPadding()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getKeyPrefixPadding</h4> +<pre>public int getKeyPrefixPadding()</pre> +</li> +</ul> +<a name="getKeySuffixPadding()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getKeySuffixPadding</h4> +<pre>public int getKeySuffixPadding()</pre> +</li> +</ul> +<a name="getDataPrefixPadding()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getDataPrefixPadding</h4> +<pre>public int getDataPrefixPadding()</pre> +</li> +</ul> +<a name="getDataSuffixPadding()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getDataSuffixPadding</h4> +<pre>public int getDataSuffixPadding()</pre> +</li> +</ul> +<a name="getConstantKeyPrefixLength()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getConstantKeyPrefixLength</h4> +<pre>public int getConstantKeyPrefixLength()</pre> +<div class="block">Returns amount of prefix key bytes that encoding strategy instance + produces which are always the same. Default implementation returns 0.</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="getPrimaryKeyIndex()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getPrimaryKeyIndex</h4> +<pre>protected <a href="../../../../com/amazon/carbonado/info/StorableIndex.html" title="class in com.amazon.carbonado.info">StorableIndex</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> getPrimaryKeyIndex()</pre> +<div class="block">Returns all key properties in the form of an index.</div> +</li> +</ul> +<a name="gatherAllKeyProperties()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>gatherAllKeyProperties</h4> +<pre>protected <a href="../../../../com/amazon/carbonado/info/OrderedProperty.html" title="class in com.amazon.carbonado.info">OrderedProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] gatherAllKeyProperties()</pre> +<div class="block">Returns all key properties as ordered properties, possibly with + unspecified directions.</div> +</li> +</ul> +<a name="gatherAllDataProperties()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>gatherAllDataProperties</h4> +<pre>protected <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] gatherAllDataProperties()</pre> +<div class="block">Returns all non-derived data properties for storable.</div> +</li> +</ul> +<a name="gatherAllProperties()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>gatherAllProperties</h4> +<pre>protected <a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] gatherAllProperties()</pre> +<div class="block">Returns all non-join, non-derived properties for storable.</div> +</li> +</ul> +<a name="checkSupport(com.amazon.carbonado.info.StorableProperty)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>checkSupport</h4> +<pre>protected <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> checkSupport(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>> property) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<dl><dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code></dd></dl> +</li> +</ul> +<a name="checkSupport(com.amazon.carbonado.info.StorableProperty[])"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>checkSupport</h4> +<pre>protected <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a>[] checkSupport(<a href="../../../../com/amazon/carbonado/info/StorableProperty.html" title="interface in com.amazon.carbonado.info">StorableProperty</a><<a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html" title="type parameter in GenericEncodingStrategy">S</a>>[] properties) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<dl><dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code></dd></dl> +</li> +</ul> +<a name="extraDataEncoding(org.cojen.classfile.CodeAssembler, org.cojen.classfile.LocalVariable, int, int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>extraDataEncoding</h4> +<pre>protected void extraDataEncoding(org.cojen.classfile.CodeAssembler a, + org.cojen.classfile.LocalVariable dataVar, + int prefix, + int suffix)</pre> +<div class="block">Second phase encoding, which does nothing by default.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dataVar</code> - local variable referencing a byte array with data</dd><dd><code>prefix</code> - prefix of byte array to preserve</dd><dd><code>suffix</code> - suffix of byte array to preserve</dd></dl> +</li> +</ul> +<a name="extraDataDecoding(org.cojen.classfile.CodeAssembler, org.cojen.classfile.LocalVariable, int, int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>extraDataDecoding</h4> +<pre>protected void extraDataDecoding(org.cojen.classfile.CodeAssembler a, + org.cojen.classfile.LocalVariable dataVar, + int prefix, + int suffix)</pre> +<div class="block">Second phase decoding, which does nothing by default.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dataVar</code> - local variable referencing a byte array with data</dd></dl> +</li> +</ul> +<a name="loadPropertyValue(org.cojen.classfile.LocalVariable[], java.lang.Boolean[], org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, int, boolean, org.cojen.classfile.LocalVariable, java.lang.Class, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>loadPropertyValue</h4> +<pre>protected boolean loadPropertyValue(org.cojen.classfile.LocalVariable[] stashedProperties, + java.lang.Boolean[] stashedFromInstances, + org.cojen.classfile.CodeAssembler a, + <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> info, + int ordinal, + boolean useReadMethod, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + org.cojen.classfile.LocalVariable partialStartVar)</pre> +<div class="block">Generates code to load a property value onto the operand stack.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - info for property to load</dd><dd><code>ordinal</code> - zero-based property ordinal, used only if instanceVar + refers to an object array.</dd><dd><code>useReadMethod</code> - when true, access property by public read method + instead of protected field</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are read from the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dd><code>partialStartVar</code> - optional variable for supporting partial key + generation. It must be an int, whose runtime value must be less than the + properties array length. It marks the range start of the partial + property range.</dd> +<dt><span class="strong">Returns:</span></dt><dd>true if property was loaded from instance, false if loaded from + value array</dd></dl> +</li> +</ul> +<a name="loadPropertyValue(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, int, boolean, org.cojen.classfile.LocalVariable, java.lang.Class, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>loadPropertyValue</h4> +<pre>protected boolean loadPropertyValue(org.cojen.classfile.CodeAssembler a, + <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> info, + int ordinal, + boolean useReadMethod, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass, + org.cojen.classfile.LocalVariable partialStartVar)</pre> +<div class="block">Generates code to load a property value onto the operand stack.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - info for property to load</dd><dd><code>ordinal</code> - zero-based property ordinal, used only if instanceVar + refers to an object array.</dd><dd><code>useReadMethod</code> - when true, access property by public read method + instead of protected field</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are read from the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dd><code>partialStartVar</code> - optional variable for supporting partial key + generation. It must be an int, whose runtime value must be less than the + properties array length. It marks the range start of the partial + property range.</dd> +<dt><span class="strong">Returns:</span></dt><dd>true if property was loaded from instance, false if loaded from + value array</dd></dl> +</li> +</ul> +<a name="pushRawSupport(org.cojen.classfile.CodeAssembler, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>pushRawSupport</h4> +<pre>protected void pushRawSupport(org.cojen.classfile.CodeAssembler a, + org.cojen.classfile.LocalVariable instanceVar) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates code to push RawSupport instance to the stack. RawSupport is + available only in Storable instances. If instanceVar is an Object[], a + SupportException is thrown.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>instanceVar</code> - Storable instance or array of property values. Null + is storable instance of "this".</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></code></dd></dl> +</li> +</ul> +<a name="pushDecodingInstanceVar(org.cojen.classfile.CodeAssembler, int, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>pushDecodingInstanceVar</h4> +<pre>protected void pushDecodingInstanceVar(org.cojen.classfile.CodeAssembler a, + int ordinal, + org.cojen.classfile.LocalVariable instanceVar)</pre> +<div class="block">Push decoding instanceVar to stack in preparation to calling + storePropertyValue.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ordinal</code> - zero-based property ordinal, used only if instanceVar + refers to an object array.</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are written to the runtime value of this array instead + of a Storable instance.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#storePropertyValue(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, boolean, org.cojen.classfile.LocalVariable, java.lang.Class)"><code>storePropertyValue</code></a></dd></dl> +</li> +</ul> +<a name="storePropertyValue(org.cojen.classfile.CodeAssembler, com.amazon.carbonado.raw.StorablePropertyInfo, boolean, org.cojen.classfile.LocalVariable, java.lang.Class)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>storePropertyValue</h4> +<pre>protected void storePropertyValue(org.cojen.classfile.CodeAssembler a, + <a href="../../../../com/amazon/carbonado/raw/StorablePropertyInfo.html" title="class in com.amazon.carbonado.raw">StorablePropertyInfo</a> info, + boolean useWriteMethod, + org.cojen.classfile.LocalVariable instanceVar, + java.lang.Class<?> adapterInstanceClass)</pre> +<div class="block">Generates code to store a property value into an instance which is + already on the operand stack. If instance is an Object array, index into + array must also be on the operand stack.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>info</code> - info for property to store to</dd><dd><code>useWriteMethod</code> - when true, set property by public write method + instead of protected field</dd><dd><code>instanceVar</code> - local variable referencing Storable instance, + defaults to "this" if null. If variable type is an Object array, then + property values are written to the runtime value of this array instead + of a Storable instance.</dd><dd><code>adapterInstanceClass</code> - class containing static references to + adapter instances - defaults to instanceVar</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../com/amazon/carbonado/raw/GenericEncodingStrategy.html#pushDecodingInstanceVar(org.cojen.classfile.CodeAssembler, int, org.cojen.classfile.LocalVariable)"><code>pushDecodingInstanceVar</code></a></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/GenericEncodingStrategy.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/DataEncoder.html" title="class in com.amazon.carbonado.raw"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../../com/amazon/carbonado/raw/GenericInstanceFactory.html" title="interface 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/GenericEncodingStrategy.html" target="_top">Frames</a></li> +<li><a href="GenericEncodingStrategy.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> |