diff options
author | Jesse Morgan <morganjm@amazon.com> | 2013-12-03 14:03:28 -0800 |
---|---|---|
committer | Jesse Morgan <morganjm@amazon.com> | 2013-12-03 14:03:28 -0800 |
commit | d479253768d296a40b4f699e1de9b03c7146a97a (patch) | |
tree | 208e70d81fc3e477a37d3f9ca6475c39bb6410d3 /apidocs/com/amazon/carbonado/gen/CodeBuilderUtil.html |
Adding javadocs and Carbonado User Guidegh-pages
Diffstat (limited to 'apidocs/com/amazon/carbonado/gen/CodeBuilderUtil.html')
-rw-r--r-- | apidocs/com/amazon/carbonado/gen/CodeBuilderUtil.html | 792 |
1 files changed, 792 insertions, 0 deletions
diff --git a/apidocs/com/amazon/carbonado/gen/CodeBuilderUtil.html b/apidocs/com/amazon/carbonado/gen/CodeBuilderUtil.html new file mode 100644 index 0000000..c20d420 --- /dev/null +++ b/apidocs/com/amazon/carbonado/gen/CodeBuilderUtil.html @@ -0,0 +1,792 @@ +<!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>CodeBuilderUtil (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="CodeBuilderUtil (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/CodeBuilderUtil.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>Prev Class</li> +<li><a href="../../../../com/amazon/carbonado/gen/CommonMethodNames.html" title="class in com.amazon.carbonado.gen"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?com/amazon/carbonado/gen/CodeBuilderUtil.html" target="_top">Frames</a></li> +<li><a href="CodeBuilderUtil.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.gen</div> +<h2 title="Class CodeBuilderUtil" class="title">Class CodeBuilderUtil</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li>java.lang.Object</li> +<li> +<ul class="inheritance"> +<li>com.amazon.carbonado.gen.CodeBuilderUtil</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public class <span class="strong">CodeBuilderUtil</span> +extends java.lang.Object</pre> +<div class="block">Collection of useful utilities for generating Carbonado code.</div> +<dl><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd> +<dt><span class="strong">Author:</span></dt> + <dd>Don Schneider, 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/gen/CodeBuilderUtil.html#CodeBuilderUtil()">CodeBuilderUtil</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 void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#addEqualsCall(org.cojen.classfile.CodeBuilder, java.lang.String, org.cojen.classfile.TypeDesc, boolean, org.cojen.classfile.Label, org.cojen.classfile.LocalVariable)">addEqualsCall</a></strong>(org.cojen.classfile.CodeBuilder b, + java.lang.String fieldName, + org.cojen.classfile.TypeDesc fieldType, + boolean testForNull, + org.cojen.classfile.Label fail, + org.cojen.classfile.LocalVariable other)</code> +<div class="block">Generates code to compare a field in this object against the same one in a + different instance.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#addValueHashCodeCall(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, boolean, boolean)">addValueHashCodeCall</a></strong>(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc valueType, + boolean testForNull, + boolean mixIn)</code> +<div class="block">Generates code to compute a hashcode for a value on the stack, consuming + the value.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#addValuesEqualCall(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, boolean, org.cojen.classfile.Label, boolean)">addValuesEqualCall</a></strong>(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc valueType, + boolean testForNull, + org.cojen.classfile.Label label, + boolean choice)</code> +<div class="block">Generates code to compare two values on the stack, and branch to the + provided Label if they are not equal.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#assertParameterNotNull(org.cojen.classfile.CodeBuilder, int)">assertParameterNotNull</a></strong>(org.cojen.classfile.CodeBuilder b, + int paramIndex)</code> +<div class="block">Generate code to throw an exception if a parameter is null</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static org.cojen.classfile.TypeDesc</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#bindQueryParam(java.lang.Class)">bindQueryParam</a></strong>(java.lang.Class clazz)</code> +<div class="block">Determines which overloaded "with" method on Query should be bound to.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#blankValue(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc)">blankValue</a></strong>(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc type)</code> +<div class="block">Generates code to push a blank value to the stack.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#callStringBuilderAppendChar(org.cojen.classfile.CodeBuilder)">callStringBuilderAppendChar</a></strong>(org.cojen.classfile.CodeBuilder b)</code> +<div class="block">Appends a char to a StringBuilder.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#callStringBuilderAppendString(org.cojen.classfile.CodeBuilder)">callStringBuilderAppendString</a></strong>(org.cojen.classfile.CodeBuilder b)</code> +<div class="block">Appends a String to a StringBuilder.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#callStringBuilderLength(org.cojen.classfile.CodeBuilder)">callStringBuilderLength</a></strong>(org.cojen.classfile.CodeBuilder b)</code> +<div class="block">Calls length on a StringBuilder on the stack, leaving an int on the stack.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#callStringBuilderSetLength(org.cojen.classfile.CodeBuilder)">callStringBuilderSetLength</a></strong>(org.cojen.classfile.CodeBuilder b)</code> +<div class="block">Calls setLength on a StringBuilder.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#callStringBuilderToString(org.cojen.classfile.CodeBuilder)">callStringBuilderToString</a></strong>(org.cojen.classfile.CodeBuilder b)</code> +<div class="block">Calls toString on a StringBuilder.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#convertValue(org.cojen.classfile.CodeBuilder, java.lang.Class, java.lang.Class)">convertValue</a></strong>(org.cojen.classfile.CodeBuilder b, + java.lang.Class from, + java.lang.Class to)</code> +<div class="block">Converts a value on the stack.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static <S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>> <br>org.cojen.classfile.ClassFile</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#createStorableClassFile(org.cojen.util.ClassInjector, java.lang.Class, boolean, java.lang.String)">createStorableClassFile</a></strong>(org.cojen.util.ClassInjector ci, + java.lang.Class<S> type, + boolean isAbstract, + java.lang.String aSourcefileName)</code> +<div class="block">Define a classfile appropriate for most Storables.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#defineCopyBridges(org.cojen.classfile.ClassFile, java.lang.Class)">defineCopyBridges</a></strong>(org.cojen.classfile.ClassFile cf, + java.lang.Class leaf)</code> +<div class="block">Add copy bridge methods for all classes/interfaces between the leaf + (genericised class) and the root (genericised baseclass).</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#definePrepareBridges(org.cojen.classfile.ClassFile, java.lang.Class)">definePrepareBridges</a></strong>(org.cojen.classfile.ClassFile cf, + java.lang.Class leaf)</code> +<div class="block">Add prepare bridge methods for all classes/interfaces between the leaf + (genericised class) and the root (genericised baseclass).</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#definePrepareMethod(org.cojen.classfile.ClassFile, java.lang.Class, org.cojen.classfile.TypeDesc)">definePrepareMethod</a></strong>(org.cojen.classfile.ClassFile cf, + java.lang.Class storableClass, + org.cojen.classfile.TypeDesc supportCtorType)</code> +<div class="block">Defines a Storable prepare method, which assumes that a support field + exists and a single-argument constructor exists which accepts a support + instance.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#definePrepareMethod(org.cojen.classfile.ClassFile, java.lang.Class, org.cojen.classfile.TypeDesc, java.lang.String, org.cojen.classfile.TypeDesc)">definePrepareMethod</a></strong>(org.cojen.classfile.ClassFile cf, + java.lang.Class storableClass, + org.cojen.classfile.TypeDesc supportCtorType, + java.lang.String supportFieldName, + org.cojen.classfile.TypeDesc supportFieldType)</code> +<div class="block">Defines a Storable prepare method, which assumes that a support field + exists and a single-argument constructor exists which accepts a support + instance.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static java.util.Set<java.lang.Class></code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#gatherAllBridgeTypes(java.util.Set, java.lang.Class)">gatherAllBridgeTypes</a></strong>(java.util.Set<java.lang.Class> set, + java.lang.Class leaf)</code> +<div class="block">Collect a set of all the interfaces and recursively all superclasses for the leaf + (genericised class) and root (genericised base class).</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#incrementVersion(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc)">incrementVersion</a></strong>(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc type)</code> +<div class="block">Generates code to increment a version property value, already on the stack.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#initialVersion(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, int)">initialVersion</a></strong>(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc type, + int value)</code> +<div class="block">Generates code to push an initial version property value on the stack.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#isPublicMethodFinal(java.lang.Class, java.lang.String, org.cojen.classfile.TypeDesc, org.cojen.classfile.TypeDesc[])">isPublicMethodFinal</a></strong>(java.lang.Class clazz, + java.lang.String name, + org.cojen.classfile.TypeDesc retType, + org.cojen.classfile.TypeDesc[] params)</code> +<div class="block">Returns true if a public final method exists which matches the given + specification.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#throwConcatException(org.cojen.classfile.CodeBuilder, java.lang.Class, java.lang.String...)">throwConcatException</a></strong>(org.cojen.classfile.CodeBuilder b, + java.lang.Class type, + java.lang.String... messages)</code> +<div class="block">Generate code to throw an exception with a message concatenated at runtime.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static void</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#throwException(org.cojen.classfile.CodeBuilder, java.lang.Class, java.lang.String)">throwException</a></strong>(org.cojen.classfile.CodeBuilder b, + java.lang.Class type, + java.lang.String message)</code> +<div class="block">Generate code to throw an exception with an optional message.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static org.cojen.classfile.LocalVariable</code></td> +<td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/gen/CodeBuilderUtil.html#uneraseGenericParameter(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, int)">uneraseGenericParameter</a></strong>(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc paramType, + int paramIndex)</code> +<div class="block">Generate code to create a local variable containing the specified parameter coerced + to the specified type.</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="CodeBuilderUtil()"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>CodeBuilderUtil</h4> +<pre>public CodeBuilderUtil()</pre> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="assertParameterNotNull(org.cojen.classfile.CodeBuilder, int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>assertParameterNotNull</h4> +<pre>public static void assertParameterNotNull(org.cojen.classfile.CodeBuilder b, + int paramIndex)</pre> +<div class="block">Generate code to throw an exception if a parameter is null</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - CodeBuilder into which to append the code</dd><dd><code>paramIndex</code> - index of the parameter to check</dd></dl> +</li> +</ul> +<a name="uneraseGenericParameter(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>uneraseGenericParameter</h4> +<pre>public static org.cojen.classfile.LocalVariable uneraseGenericParameter(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc paramType, + int paramIndex)</pre> +<div class="block">Generate code to create a local variable containing the specified parameter coerced + to the specified type. This is useful for re-interpreting erased generics into + the more specific genericized type.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - CodeBuilder into which to append the code</dd><dd><code>paramType</code> - the more specific type which was erased during compilation</dd><dd><code>paramIndex</code> - index of the parameter to unerase</dd> +<dt><span class="strong">Returns:</span></dt><dd>a local variable referencing the type-cast parameter</dd></dl> +</li> +</ul> +<a name="throwException(org.cojen.classfile.CodeBuilder, java.lang.Class, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>throwException</h4> +<pre>public static void throwException(org.cojen.classfile.CodeBuilder b, + java.lang.Class type, + java.lang.String message)</pre> +<div class="block">Generate code to throw an exception with an optional message.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - <code>CodeBuilder</code> to which to add code</dd><dd><code>type</code> - type of the object to throw</dd><dd><code>message</code> - optional message to provide to the constructor</dd></dl> +</li> +</ul> +<a name="throwConcatException(org.cojen.classfile.CodeBuilder, java.lang.Class, java.lang.String...)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>throwConcatException</h4> +<pre>public static void throwConcatException(org.cojen.classfile.CodeBuilder b, + java.lang.Class type, + java.lang.String... messages)</pre> +<div class="block">Generate code to throw an exception with a message concatenated at runtime.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - <code>CodeBuilder</code> to which to add code</dd><dd><code>type</code> - type of the object to throw</dd><dd><code>messages</code> - messages to concat at runtime</dd></dl> +</li> +</ul> +<a name="gatherAllBridgeTypes(java.util.Set, java.lang.Class)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>gatherAllBridgeTypes</h4> +<pre>public static java.util.Set<java.lang.Class> gatherAllBridgeTypes(java.util.Set<java.lang.Class> set, + java.lang.Class leaf)</pre> +<div class="block">Collect a set of all the interfaces and recursively all superclasses for the leaf + (genericised class) and root (genericised base class). Eg, for Object<foo>, all + classes and implemented interfaces for every superclass between foo (the leaf) and + Object (the base). + <P>A copy must be coercible into any of these types, and copy bridge methods must be + provided to do so. + + <P>Note that the official documentation for this is in draft form, and you have to be + psychic to have figured out the necessity in the first place.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>set</code> - set into which the class types will be collected</dd><dd><code>leaf</code> - leaf class</dd> +<dt><span class="strong">Returns:</span></dt><dd>same set as was passed in</dd></dl> +</li> +</ul> +<a name="defineCopyBridges(org.cojen.classfile.ClassFile, java.lang.Class)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>defineCopyBridges</h4> +<pre>public static void defineCopyBridges(org.cojen.classfile.ClassFile cf, + java.lang.Class leaf)</pre> +<div class="block">Add copy bridge methods for all classes/interfaces between the leaf + (genericised class) and the root (genericised baseclass).</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cf</code> - file to which to add the copy bridge</dd><dd><code>leaf</code> - leaf class</dd></dl> +</li> +</ul> +<a name="definePrepareMethod(org.cojen.classfile.ClassFile, java.lang.Class, org.cojen.classfile.TypeDesc)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>definePrepareMethod</h4> +<pre>public static void definePrepareMethod(org.cojen.classfile.ClassFile cf, + java.lang.Class storableClass, + org.cojen.classfile.TypeDesc supportCtorType)</pre> +<div class="block">Defines a Storable prepare method, which assumes that a support field + exists and a single-argument constructor exists which accepts a support + instance.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cf</code> - file to which to add the prepare method</dd><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd></dl> +</li> +</ul> +<a name="definePrepareMethod(org.cojen.classfile.ClassFile, java.lang.Class, org.cojen.classfile.TypeDesc, java.lang.String, org.cojen.classfile.TypeDesc)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>definePrepareMethod</h4> +<pre>public static void definePrepareMethod(org.cojen.classfile.ClassFile cf, + java.lang.Class storableClass, + org.cojen.classfile.TypeDesc supportCtorType, + java.lang.String supportFieldName, + org.cojen.classfile.TypeDesc supportFieldType)</pre> +<div class="block">Defines a Storable prepare method, which assumes that a support field + exists and a single-argument constructor exists which accepts a support + instance.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cf</code> - file to which to add the prepare method</dd><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd></dl> +</li> +</ul> +<a name="definePrepareBridges(org.cojen.classfile.ClassFile, java.lang.Class)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>definePrepareBridges</h4> +<pre>public static void definePrepareBridges(org.cojen.classfile.ClassFile cf, + java.lang.Class leaf)</pre> +<div class="block">Add prepare bridge methods for all classes/interfaces between the leaf + (genericised class) and the root (genericised baseclass).</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cf</code> - file to which to add the prepare bridge</dd><dd><code>leaf</code> - leaf class</dd><dt><span class="strong">Since:</span></dt> + <dd>1.2</dd></dl> +</li> +</ul> +<a name="isPublicMethodFinal(java.lang.Class, java.lang.String, org.cojen.classfile.TypeDesc, org.cojen.classfile.TypeDesc[])"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isPublicMethodFinal</h4> +<pre>public static boolean isPublicMethodFinal(java.lang.Class clazz, + java.lang.String name, + org.cojen.classfile.TypeDesc retType, + org.cojen.classfile.TypeDesc[] params)</pre> +<div class="block">Returns true if a public final method exists which matches the given + specification.</div> +</li> +</ul> +<a name="createStorableClassFile(org.cojen.util.ClassInjector, java.lang.Class, boolean, java.lang.String)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>createStorableClassFile</h4> +<pre>public static <S extends <a href="../../../../com/amazon/carbonado/Storable.html" title="interface in com.amazon.carbonado">Storable</a>> org.cojen.classfile.ClassFile createStorableClassFile(org.cojen.util.ClassInjector ci, + java.lang.Class<S> type, + boolean isAbstract, + java.lang.String aSourcefileName)</pre> +<div class="block">Define a classfile appropriate for most Storables. Specifically: + <ul> + <li>implements Storable</li> + <li>implements Cloneable + <li>abstract if appropriate + <li>marked synthetic + <li>targetted for java version 1.5 + </ul></div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ci</code> - ClassInjector for the storable</dd><dd><code>type</code> - specific Storable implementation to generate</dd><dd><code>isAbstract</code> - true if the class should be abstract</dd><dd><code>aSourcefileName</code> - identifier for the classfile, typically the factory class name</dd> +<dt><span class="strong">Returns:</span></dt><dd>ClassFile object ready to have methods added.</dd></dl> +</li> +</ul> +<a name="addValueHashCodeCall(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, boolean, boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>addValueHashCodeCall</h4> +<pre>public static void addValueHashCodeCall(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc valueType, + boolean testForNull, + boolean mixIn)</pre> +<div class="block">Generates code to compute a hashcode for a value on the stack, consuming + the value. After the code executes, the stack contains an int hashcode.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - <code>CodeBuilder</code> to which to add the code</dd><dd><code>valueType</code> - the type of the value</dd><dd><code>testForNull</code> - if true and the value is a reference and might be null</dd><dd><code>mixIn</code> - if true, stack has an existing hashcode followed by a value</dd><dt><span class="strong">Since:</span></dt> + <dd>1.2.2</dd></dl> +</li> +</ul> +<a name="addEqualsCall(org.cojen.classfile.CodeBuilder, java.lang.String, org.cojen.classfile.TypeDesc, boolean, org.cojen.classfile.Label, org.cojen.classfile.LocalVariable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>addEqualsCall</h4> +<pre>public static void addEqualsCall(org.cojen.classfile.CodeBuilder b, + java.lang.String fieldName, + org.cojen.classfile.TypeDesc fieldType, + boolean testForNull, + org.cojen.classfile.Label fail, + org.cojen.classfile.LocalVariable other)</pre> +<div class="block">Generates code to compare a field in this object against the same one in a + different instance. Branch to the provided Label if they are not equal.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - <code>CodeBuilder</code> to which to add the code</dd><dd><code>fieldName</code> - the name of the field</dd><dd><code>fieldType</code> - the type of the field</dd><dd><code>testForNull</code> - if true and the values are references, they will be considered + unequal unless neither or both are null. If false, assume neither is null.</dd><dd><code>fail</code> - the label to branch to</dd><dd><code>other</code> - the other instance to test</dd></dl> +</li> +</ul> +<a name="addValuesEqualCall(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, boolean, org.cojen.classfile.Label, boolean)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>addValuesEqualCall</h4> +<pre>public static void addValuesEqualCall(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc valueType, + boolean testForNull, + org.cojen.classfile.Label label, + boolean choice)</pre> +<div class="block">Generates code to compare two values on the stack, and branch to the + provided Label if they are not equal. Both values must be of the same + type. If they are floating point values, NaN is considered equal to NaN, + which is inconsistent with the usual treatment for NaN. + + <P>The generated instruction consumes both values on the stack.</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - <code>CodeBuilder</code> to which to add the code</dd><dd><code>valueType</code> - the type of the values</dd><dd><code>testForNull</code> - if true and the values are references, they will be considered + unequal unless neither or both are null. If false, assume neither is null.</dd><dd><code>label</code> - the label to branch to</dd><dd><code>choice</code> - when true, branch to label if values are equal, else + branch to label if values are unequal.</dd></dl> +</li> +</ul> +<a name="convertValue(org.cojen.classfile.CodeBuilder, java.lang.Class, java.lang.Class)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>convertValue</h4> +<pre>public static void convertValue(org.cojen.classfile.CodeBuilder b, + java.lang.Class from, + java.lang.Class to)</pre> +<div class="block">Converts a value on the stack. If "to" type is a String, then conversion + may call the String.valueOf(from).</div> +</li> +</ul> +<a name="initialVersion(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc, int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>initialVersion</h4> +<pre>public static void initialVersion(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc type, + int value) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates code to push an initial version property value on the stack.</div> +<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> - if version type is not supported</dd></dl> +</li> +</ul> +<a name="incrementVersion(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>incrementVersion</h4> +<pre>public static void incrementVersion(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc type) + throws <a href="../../../../com/amazon/carbonado/SupportException.html" title="class in com.amazon.carbonado">SupportException</a></pre> +<div class="block">Generates code to increment a version property value, already on the stack.</div> +<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> - if version type is not supported</dd></dl> +</li> +</ul> +<a name="blankValue(org.cojen.classfile.CodeBuilder, org.cojen.classfile.TypeDesc)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>blankValue</h4> +<pre>public static void blankValue(org.cojen.classfile.CodeBuilder b, + org.cojen.classfile.TypeDesc type)</pre> +<div class="block">Generates code to push a blank value to the stack. For objects, it is + null, and for primitive types it is zero or false.</div> +</li> +</ul> +<a name="bindQueryParam(java.lang.Class)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>bindQueryParam</h4> +<pre>public static org.cojen.classfile.TypeDesc bindQueryParam(java.lang.Class clazz)</pre> +<div class="block">Determines which overloaded "with" method on Query should be bound to.</div> +</li> +</ul> +<a name="callStringBuilderAppendString(org.cojen.classfile.CodeBuilder)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>callStringBuilderAppendString</h4> +<pre>public static void callStringBuilderAppendString(org.cojen.classfile.CodeBuilder b)</pre> +<div class="block">Appends a String to a StringBuilder. A StringBuilder and String must be + on the stack, and a StringBuilder is left on the stack after the call.</div> +</li> +</ul> +<a name="callStringBuilderAppendChar(org.cojen.classfile.CodeBuilder)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>callStringBuilderAppendChar</h4> +<pre>public static void callStringBuilderAppendChar(org.cojen.classfile.CodeBuilder b)</pre> +<div class="block">Appends a char to a StringBuilder. A StringBuilder and char must be on + the stack, and a StringBuilder is left on the stack after the call.</div> +</li> +</ul> +<a name="callStringBuilderLength(org.cojen.classfile.CodeBuilder)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>callStringBuilderLength</h4> +<pre>public static void callStringBuilderLength(org.cojen.classfile.CodeBuilder b)</pre> +<div class="block">Calls length on a StringBuilder on the stack, leaving an int on the stack.</div> +</li> +</ul> +<a name="callStringBuilderSetLength(org.cojen.classfile.CodeBuilder)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>callStringBuilderSetLength</h4> +<pre>public static void callStringBuilderSetLength(org.cojen.classfile.CodeBuilder b)</pre> +<div class="block">Calls setLength on a StringBuilder. A StringBuilder and int must be on + the stack, and both are consumed after the call.</div> +</li> +</ul> +<a name="callStringBuilderToString(org.cojen.classfile.CodeBuilder)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>callStringBuilderToString</h4> +<pre>public static void callStringBuilderToString(org.cojen.classfile.CodeBuilder b)</pre> +<div class="block">Calls toString on a StringBuilder. A StringBuilder must be on the stack, + and a String is left on the stack after the call.</div> +</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/CodeBuilderUtil.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>Prev Class</li> +<li><a href="../../../../com/amazon/carbonado/gen/CommonMethodNames.html" title="class in com.amazon.carbonado.gen"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../index.html?com/amazon/carbonado/gen/CodeBuilderUtil.html" target="_top">Frames</a></li> +<li><a href="CodeBuilderUtil.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> |