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>&nbsp;</TD>
38  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
39  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
40  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
42  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
43  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="../../../javax/annotation/concurrent/GuardedBy.html" title="annotation in javax.annotation.concurrent"><B>PREV CLASS</B></A>&nbsp;
55&nbsp;<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>  &nbsp;
58&nbsp;<A HREF="Immutable.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
59&nbsp;<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:&nbsp;REQUIRED&nbsp;|&nbsp;OPTIONAL</FONT></TD>
76<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
77DETAIL:&nbsp;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>&nbsp;</TD>
134  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
135  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
136  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
137  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
138  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
139  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</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&nbsp;<A HREF="../../../javax/annotation/concurrent/GuardedBy.html" title="annotation in javax.annotation.concurrent"><B>PREV CLASS</B></A>&nbsp;
151&nbsp;<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>  &nbsp;
154&nbsp;<A HREF="Immutable.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
155&nbsp;<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:&nbsp;REQUIRED&nbsp;|&nbsp;OPTIONAL</FONT></TD>
172<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
173DETAIL:&nbsp;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