<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.6.0_18) on Sat Dec 04 05:26:43 UTC 2010 --> <TITLE> DirectAccessible </TITLE> <META NAME="date" CONTENT="2010-12-04"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="DirectAccessible"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/ws/jaxme/js/ConditionalIndentationJavaSourceObject.LoopVariable.html" title="class in org.apache.ws.jaxme.js"><B>PREV CLASS</B></A> <A HREF="../../../../../org/apache/ws/jaxme/js/IncreasingTarget.html" title="class in org.apache.ws.jaxme.js"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?org/apache/ws/jaxme/js/DirectAccessible.html" target="_top"><B>FRAMES</B></A> <A HREF="DirectAccessible.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> org.apache.ws.jaxme.js</FONT> <BR> Interface DirectAccessible</H2> <DL> <DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../../org/apache/ws/jaxme/js/TypedValue.html" title="interface in org.apache.ws.jaxme.js">TypedValue</A></DD> </DL> <DL> <DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../org/apache/ws/jaxme/js/LocalJavaField.html" title="interface in org.apache.ws.jaxme.js">LocalJavaField</A></DD> </DL> <DL> <DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/ws/jaxme/js/ConditionalIndentationJavaSourceObject.LJFImpl.html" title="class in org.apache.ws.jaxme.js">ConditionalIndentationJavaSourceObject.LJFImpl</A>, <A HREF="../../../../../org/apache/ws/jaxme/js/ConditionalIndentationJavaSourceObject.LoopVariable.html" title="class in org.apache.ws.jaxme.js">ConditionalIndentationJavaSourceObject.LoopVariable</A>, <A HREF="../../../../../org/apache/ws/jaxme/js/JavaField.html" title="class in org.apache.ws.jaxme.js">JavaField</A>, <A HREF="../../../../../org/apache/ws/jaxme/js/Parameter.html" title="class in org.apache.ws.jaxme.js">Parameter</A></DD> </DL> <HR> <DL> <DT><PRE>public interface <B>DirectAccessible</B><DT>extends <A HREF="../../../../../org/apache/ws/jaxme/js/TypedValue.html" title="interface in org.apache.ws.jaxme.js">TypedValue</A></DL> </PRE> <P> <p>This interface is an abstract base for fields and similar objects. It doesn't define many methods, it mainly indicates, that the implementations value is directly and fast accessible in the generated code. The use is best demonstrated by an example. Suggest the following piece of code:</p> <pre> Object value; return new Object[]{"((", value, ") * (", value, "))"}; </pre> <p>The example is well suited for the case, where <code>value</code> is a variable name like "i". It is not suited, if "value" contains an expensive method call like "sin(x)". It is even wrong in the case "i++".</p> <p>By using the interface <code>DirectAccessible</code>, you can change the implementation of <code>getSquare()</code> to look like this: <pre> Object value; JavaQName type; if (!(value instanceof DirectAccessible)) { LocalJavaField v = pMethod.newJavaField(type); v.addLine(value); v.setFinal(true); value = v; } return new Object[]{"((", value, ") * (", value, "))"}; </pre> <p>This results in code, which is far more readable and better optimized.</p> <P> <P> <DL> <DT><B>Author:</B></DT> <DD><a href="mailto:jwi@softwareag.com">Jochen Wiedmann</a></DD> </DL> <HR> <P> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Method Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/ws/jaxme/js/DirectAccessible.html#isNullable()">isNullable</A></B>()</CODE> <BR> Returns whether the value is possibly null.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/ws/jaxme/js/DirectAccessible.html#setNullable(boolean)">setNullable</A></B>(boolean pNullable)</CODE> <BR> Sets whether the value is possibly null.</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_org.apache.ws.jaxme.js.TypedValue"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from interface org.apache.ws.jaxme.js.<A HREF="../../../../../org/apache/ws/jaxme/js/TypedValue.html" title="interface in org.apache.ws.jaxme.js">TypedValue</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../../../org/apache/ws/jaxme/js/TypedValue.html#getType()">getType</A></CODE></TD> </TR> </TABLE> <P> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Method Detail</B></FONT></TH> </TR> </TABLE> <A NAME="isNullable()"><!-- --></A><H3> isNullable</H3> <PRE> boolean <B>isNullable</B>()</PRE> <DL> <DD><p>Returns whether the value is possibly null.</p> <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="setNullable(boolean)"><!-- --></A><H3> setNullable</H3> <PRE> void <B>setNullable</B>(boolean pNullable)</PRE> <DL> <DD><p>Sets whether the value is possibly null.</p> <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/ws/jaxme/js/ConditionalIndentationJavaSourceObject.LoopVariable.html" title="class in org.apache.ws.jaxme.js"><B>PREV CLASS</B></A> <A HREF="../../../../../org/apache/ws/jaxme/js/IncreasingTarget.html" title="class in org.apache.ws.jaxme.js"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?org/apache/ws/jaxme/js/DirectAccessible.html" target="_top"><B>FRAMES</B></A> <A HREF="DirectAccessible.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> </BODY> </HTML>