1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<!--NewPage--> 3<HTML> 4<HEAD> 5<!-- Generated by javadoc (build 1.5.0_16) on Tue Feb 03 09:28:21 PST 2009 --> 6<TITLE> 7Immutable 8</TITLE> 9 10<META NAME="keywords" CONTENT="javax.annotation.concurrent.Immutable class"> 11 12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> 13 14<SCRIPT type="text/javascript"> 15function windowTitle() 16{ 17 parent.document.title="Immutable"; 18} 19</SCRIPT> 20<NOSCRIPT> 21</NOSCRIPT> 22 23</HEAD> 24 25<BODY BGCOLOR="white" onload="windowTitle();"> 26 27 28<!-- ========= START OF TOP NAVBAR ======= --> 29<A NAME="navbar_top"><!-- --></A> 30<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 31<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 32<TR> 33<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 34<A NAME="navbar_top_firstrow"><!-- --></A> 35<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 36 <TR ALIGN="center" VALIGN="top"> 37 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 38 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 39 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 42 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 44 </TR> 45</TABLE> 46</TD> 47<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 48</EM> 49</TD> 50</TR> 51 52<TR> 53<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 54 <A HREF="../../../javax/annotation/concurrent/GuardedBy.html" title="annotation in javax.annotation.concurrent"><B>PREV CLASS</B></A> 55 <A HREF="../../../javax/annotation/concurrent/NotThreadSafe.html" title="annotation in javax.annotation.concurrent"><B>NEXT CLASS</B></A></FONT></TD> 56<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 57 <A HREF="../../../index.html?javax/annotation/concurrent/Immutable.html" target="_top"><B>FRAMES</B></A> 58 <A HREF="Immutable.html" target="_top"><B>NO FRAMES</B></A> 59 <SCRIPT type="text/javascript"> 60 <!-- 61 if(window==top) { 62 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 63 } 64 //--> 65</SCRIPT> 66<NOSCRIPT> 67 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 68</NOSCRIPT> 69 70 71</FONT></TD> 72</TR> 73<TR> 74<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 75 SUMMARY: REQUIRED | OPTIONAL</FONT></TD> 76<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 77DETAIL: ELEMENT</FONT></TD> 78</TR> 79</TABLE> 80<A NAME="skip-navbar_top"></A> 81<!-- ========= END OF TOP NAVBAR ========= --> 82 83<HR> 84<!-- ======== START OF CLASS DATA ======== --> 85<H2> 86<FONT SIZE="-1"> 87javax.annotation.concurrent</FONT> 88<BR> 89Annotation Type Immutable</H2> 90<HR> 91<DL> 92<DT><PRE><FONT SIZE="-1">@Documented 93@Target(value=TYPE) 94@Retention(value=CLASS) 95</FONT>public @interface <B>Immutable</B></DL> 96</PRE> 97 98<P> 99Immutable 100 101 The class to which this annotation is applied is immutable. This means that 102 its state cannot be seen to change by callers. Of necessity this means that 103 all public fields are final, and that all public final reference fields refer 104 to other immutable objects, and that methods do not publish references to any 105 internal state which is mutable by implementation even if not by design. 106 Immutable objects may still have internal mutable state for purposes of 107 performance optimization; some state variables may be lazily computed, so 108 long as they are computed from immutable state and that callers cannot tell 109 the difference. 110 111 Immutable objects are inherently thread-safe; they may be passed between 112 threads or published without synchronization. 113<P> 114 115<P> 116 117<P> 118 119<P> 120<!-- ========= END OF CLASS DATA ========= --> 121<HR> 122 123 124<!-- ======= START OF BOTTOM NAVBAR ====== --> 125<A NAME="navbar_bottom"><!-- --></A> 126<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 127<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 128<TR> 129<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 130<A NAME="navbar_bottom_firstrow"><!-- --></A> 131<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 132 <TR ALIGN="center" VALIGN="top"> 133 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 134 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 135 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 136 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 137 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 138 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 139 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 140 </TR> 141</TABLE> 142</TD> 143<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 144</EM> 145</TD> 146</TR> 147 148<TR> 149<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 150 <A HREF="../../../javax/annotation/concurrent/GuardedBy.html" title="annotation in javax.annotation.concurrent"><B>PREV CLASS</B></A> 151 <A HREF="../../../javax/annotation/concurrent/NotThreadSafe.html" title="annotation in javax.annotation.concurrent"><B>NEXT CLASS</B></A></FONT></TD> 152<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 153 <A HREF="../../../index.html?javax/annotation/concurrent/Immutable.html" target="_top"><B>FRAMES</B></A> 154 <A HREF="Immutable.html" target="_top"><B>NO FRAMES</B></A> 155 <SCRIPT type="text/javascript"> 156 <!-- 157 if(window==top) { 158 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 159 } 160 //--> 161</SCRIPT> 162<NOSCRIPT> 163 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 164</NOSCRIPT> 165 166 167</FONT></TD> 168</TR> 169<TR> 170<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 171 SUMMARY: REQUIRED | OPTIONAL</FONT></TD> 172<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 173DETAIL: ELEMENT</FONT></TD> 174</TR> 175</TABLE> 176<A NAME="skip-navbar_bottom"></A> 177<!-- ======== END OF BOTTOM NAVBAR ======= --> 178 179<HR> 180 181</BODY> 182</HTML> 183