jalopy is used for sourcescrub target of build.xml (sourcescrub is not
[jalview.git] / utils / jalopy / docs / indentation.html
1
2     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3   <html><head>
4       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5    <title>4.3.3.&nbsp;Indentation</title><link rel="stylesheet" href="site.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="manual.html" title="Jalopy User Manual"><link rel="up" href="printer.html" title="4.3.&nbsp;Printer"><link rel="previous" href="whitespace.html" title="4.3.2.&nbsp;White Space"><link rel="next" href="wrapping.html" title="4.3.4.&nbsp;Wrapping"><link rel="preface" href="dedication.html" title="Dedication"><link rel="preface" href="acknowledge.html" title="Acknowledgements"><link rel="preface" href="introduction.html" title="Introduction"><link rel="part" href="part-core.html" title="Part&nbsp;I.&nbsp;Jalopy core"><link rel="chapter" href="installation.html" title="Chapter&nbsp;1.&nbsp;Installation"><link rel="chapter" href="build.html" title="Chapter&nbsp;2.&nbsp;Building"><link rel="chapter" href="usage.html" title="Chapter&nbsp;3.&nbsp;Usage"><link rel="chapter" href="settings.html" title="Chapter&nbsp;4.&nbsp;Settings"><link rel="part" href="part-plugins.html" title="Part&nbsp;II.&nbsp;Plug-ins"><link rel="chapter" href="plugin-ant.html" title="Chapter&nbsp;5.&nbsp;Ant Plug-in task"><link rel="chapter" href="plugin-console.html" title="Chapter&nbsp;6.&nbsp;Console Application"><link rel="chapter" href="plugin-eclipse.html" title="Chapter&nbsp;7.&nbsp;Eclipse Plug-in"><link rel="chapter" href="plugin-jbuilder.html" title="Chapter&nbsp;8.&nbsp;JBuilder OpenTool"><link rel="chapter" href="plugin-jdev.html" title="Chapter&nbsp;9.&nbsp;JDeveloper Extension"><link rel="chapter" href="plugin-jedit.html" title="Chapter&nbsp;10.&nbsp;jEdit Plug-in"><link rel="chapter" href="plugin-netbeans.html" title="Chapter&nbsp;11.&nbsp;NetBeans/Sun ONE Studio module"><link rel="appendix" href="dependencies.html" title="Appendix&nbsp;A.&nbsp;Library Dependencies"><link rel="appendix" href="license-bsd.html" title="Appendix&nbsp;B.&nbsp;The Jalopy BSD License"><link rel="appendix" href="license-antlr.html" title="Appendix&nbsp;C.&nbsp;ANTLR SOFTWARE RIGHTS"><link rel="appendix" href="license-apache.html" title="Appendix&nbsp;D.&nbsp;The Apache Software License, Version 1.1"><link rel="appendix" href="license-gnu.html" title="Appendix&nbsp;E.&nbsp;GNU GENERAL PUBLIC LICENSE Version 2, June 1991"><link rel="appendix" href="license-gnu-doc.html" title="Appendix&nbsp;F.&nbsp;GNU Free Documentation License Version 1.1, March 2000"><link rel="appendix" href="license-common-public.html" title="Appendix&nbsp;G.&nbsp;Common Public License Version 1.0"><link rel="appendix" href="license-sun-public.html" title="Appendix&nbsp;H.&nbsp;SUN PUBLIC LICENSE Version 1.0"><link rel="index" href="ix01.html" title="Index"><link rel="subsection" href="indentation.html#indentation-general" title="4.3.3.1.&nbsp;General"><link rel="subsection" href="indentation.html#indentation-misc" title="4.3.3.2.&nbsp;Misc"><link rel="subsection" href="indentation.html#indentation-align" title="4.3.3.3.&nbsp;Align"><link rel="subsection" href="indentation.html#indentation-continuation" title="4.3.3.4.&nbsp;Continuation">
6       <meta name="description" content="Jalopy Java Source Code Formatter Beautifier Pretty Printer"> 
7       <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" l gen true for "http://jalopy.sf.net" r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://jalopy.sf.net" r (n 0 s 0 v 0 l 0))'> 
8     </head><body id="toppage" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table width="700" border="0" cellpadding="0" cellspacing="0" align="left"><tbody><tr><td><table cellpadding="0" cellspacing="0" width="100%" style="border:1px solid #336699"><tbody><tr><td height="16"></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr style="border:none"><td style="border:none"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td class="logo">JALOPY</td><td class="sublogo" valign="bottom">Java Source Code Formatter Beautifier Pretty Printer</td></tr></tbody></table></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr><td height="10"></td></tr><tr><td bgcolor="#ff8000" height="4"></td></tr><tr><td height="20" bgcolor="#336699" style="color:#ffffff;padding-left:10px"><a href="./index.html" class="navlink">Overview</a> &#149;
9                     <a href="./download.html" class="navlink">Download</a> &#149;
10                     <a href="./docs.html" class="navlink">Documentation</a> &#149;
11                     <a href="./plugins.html" class="navlink">Plug-ins</a> &#149;
12                     <a href="./links.html" class="navlink">Links</a> &#149;
13                     <a href="./contact.html" class="navlink">Contact</a></td></tr><tr><td height="1" bgcolor="#ffffff"></td></tr></tbody></table></td></tr><tr valign="top"><td valign="top" bgcolor="#ffffff"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td height="20" bgcolor="#faebd7" style="padding-left:15px"><a href="./features.html" class="navlink2">Features</a> |
14                     <a href="./history.html" class="navlink2">History</a> |
15                     <a href="./manual.html" class="navlink2">Manual</a> |
16                     <a href="./faq.html" class="navlink2">FAQ</a> |
17                     <a href="./api/index.html" class="navlink2">Javadoc</a></td></tr><tr><td height="20" bgcolor="#ffffff"></td></tr><tr><td bgcolor="#eeeecc" height="17" align="right" style="font-size:10px;padding-right:3px">
18                     This page generated: <strong>June 8 2004</strong></td></tr></tbody></table><table border="0" width="100%" cellspacing="0" cellpadding="5"><tr><td><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3.3.&nbsp;Indentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="whitespace.html">Prev</a>&nbsp;</td><th width="60%" align="center">4.3.&nbsp;Printer</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="wrapping.html">Next</a></td></tr></table><hr></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="indentation"></a>4.3.3.&nbsp;Indentation</h3></div></div><div></div></div><p>
19 Controls the indentation settings.
20 <a class="indexterm" name="d0e2107"></a>
21 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="indentation-general"></a>4.3.3.1.&nbsp;General</h4></div></div><div></div></div><p>Lets you change the general indentation settings.</p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="indentation-policy"></a>4.3.3.1.1.&nbsp;Policy</h5></div></div><div></div></div><p>
22 Lets you choose the way lines should be indented.
23 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="indentation-policy-standard"></a>
24 Standard indent
25 </p><p>
26 With standard indentation, lines will be indented according to the
27 current indentation level (Note that the indentation level changes as the block
28 or parentheses level changes).
29 </p><div class="example"><a name="indentation-method-decl-standard"></a><p class="title"><b>Example&nbsp;4.30.&nbsp;Method declaration (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
30 public void severalParameters(String one, int two, String three,
31     StringObject four, AnotherObject five) {
32 ...
33 }
34 </pre></td></tr></table></div><p></p><div class="example"><a name="indentation-method-call-standard"></a><p class="title"><b>Example&nbsp;4.31.&nbsp;Method Call (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
35 vector.add(new AppServerReference(
36         "RemoteApplicationManager",
37         poa.create_reference_with_id("RemoteApplicationManager".getBytes(),
38             RemoteApplicationManagerHelper.id())));
39 </pre></td></tr></table></div><p></p><div class="example"><a name="indentation-assign-standard"></a><p class="title"><b>Example&nbsp;4.32.&nbsp;Assignment (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
40 doublette[InteressentenPflegeController.GEBURTSDATUM] = versichertenResultSetRow[i].field[0]
41     .substring(0, 2) + "."
42     + versichertenResultSetRow[i].field[0].substring(2, 4) + "."
43     + versichertenResultSetRow[i].field[0].substring(4, 6);
44 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-policy-deep"></a>
45 Deep indent
46 </p><p>
47 Deep indentation means that lines will be indented relative to the current
48 parentheses or assignment offset. This way consecutive code sections are somewhat easier
49 to recognize at the downside of consuming more horizontal space.
50 </p><div class="example"><a name="indentation-method-decl-deep"></a><p class="title"><b>Example&nbsp;4.33.&nbsp;Method declaration (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
51 public void severalParameters(String one, int two, String three,
52                               StringObject four, AnotherObject five) {
53     ...
54 }
55 </pre></td></tr></table></div><p></p><div class="example"><a name="indentation-method-call-deep"></a><p class="title"><b>Example&nbsp;4.34.&nbsp;Method Call (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
56 this.add(lbPunktzahl,
57          new GridBagLayout(0, 1, 2, 1, 0.0, 0.0,
58                            GribBagConstraints.WEST,
59                            GribBagConstraints.NONE,
60                            new Insets(0, GribBagConstraints.WEST,
61                                       GribBagConstraints.WEST,
62                                       GribBagConstraints.WEST), 0, 0));
63 </pre></td></tr></table></div><p></p><div class="example"><a name="indentation-assign-deep"></a><p class="title"><b>Example&nbsp;4.35.&nbsp;Assignment (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
64 doublette[Controller.GEBURTSDATUM] = versichertenResultSetRow[i].field[0]
65                                      .substring(0, 2) + "."
66                                      + versichertenResultSetRow[i].field[0]
67                                        .substring(2, 4)
68                                      + "."
69                                      + versichertenResultSetRow[i].field[0]
70                                        .substring(4, 6);
71 </pre></td></tr></table></div><p></p></li></ul></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="indentation-sizes"></a>4.3.3.1.2.&nbsp;Sizes</h5></div></div><div></div></div><a class="indexterm" name="d0e2171"></a><p>
72 Lets you set different indentation sizes.
73 </p><div class="itemizedlist"><p></p><ul type="disc"><li><p><a name="indentation-sizes-general"></a>
74 General indent
75 <a class="indexterm" name="d0e2182"></a>
76 </p><p>
77 Specifies the number of spaces to use for general indentation (Studies have
78 found that 2 to 4 spaces for indentation is optimal)
79 </p><div class="example"><a name="ex-indentation-two-space"></a><p class="title"><b>Example&nbsp;4.36.&nbsp;2 space general indent</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
80 public class Preferences
81 {
82 -&gt;private Preferences()
83 -&gt;{
84 -&gt;}
85
86 -&gt;public static void main(String[] argv)
87 -&gt;{
88 -&gt;-&gt;de.hunsicker.jalopy.swing.PreferencesDialog.main(argv);
89 -&gt;}
90 }
91 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-four-space"></a><p class="title"><b>Example&nbsp;4.37.&nbsp;4 space general indent</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
92 public class Preferences
93 {
94 ---&gt;private Preferences()
95 ---&gt;{
96 ---&gt;}
97
98 ---&gt;public static void main(String[] argv)
99 ---&gt;{
100 ---&gt;---&gt;de.hunsicker.jalopy.swing.PreferencesDialog.main(argv);
101 ---&gt;}
102 }
103 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-sizes-leading"></a>
104 Leading indent
105 <a class="indexterm" name="d0e2207"></a>
106 </p><p>
107 Specifies the number of spaces to prepend before every line printed.
108 </p><div class="example"><a name="ex-indentation-six-leading"></a><p class="title"><b>Example&nbsp;4.38.&nbsp;6 space leading indent</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
109 -----&gt;public class Preferences
110 -----&gt;{
111 -----&gt;    private Preferences()
112 -----&gt;    {
113 -----&gt;    }
114
115 -----&gt;    public static void main(String[] argv)
116 -----&gt;    {
117 -----&gt;        de.hunsicker.jalopy.swing.PreferencesDialog.main(argv);
118 -----&gt;    }
119 -----&gt;}
120 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-sizes-continuation"></a>
121 Continuation indent
122 <a class="indexterm" name="d0e2226"></a>
123 </p><p>
124 Specifies the number of spaces that should be inserted in front of
125 continuation lines, i.e. the consecutive lines in case of a line wrap.
126 </p><div class="example"><a name="ex-indentation-two-continuation"></a><p class="title"><b>Example&nbsp;4.39.&nbsp;2 space continuation indent</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
127 if ((condition1 &amp;&amp; condition2)
128     -&gt;|| (condition3 &amp;&amp; condition4)
129     -&gt;|| !(condition5 &amp;&amp; condition6)) {
130     doSomethingAboutIt();
131 }
132 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-four-continuation"></a><p class="title"><b>Example&nbsp;4.40.&nbsp;4 space continuation indent</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
133 if ((condition1 &amp;&amp; condition2)
134     ---&gt;|| (condition3 &amp;&amp; condition4)
135     ---&gt;|| !(condition5 &amp;&amp; condition6)) {
136     doSomethingAboutIt();
137 }
138 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-sizes-trailing"></a>
139 Trailing comment indent
140 <a class="indexterm" name="d0e2251"></a>
141 <a class="indexterm" name="d0e2259"></a>
142 <a class="indexterm" name="d0e2265"></a>
143 </p><p>
144 Specifies the number of spaces to insert between trailing comments and the
145 preceding statement.
146 </p><div class="example"><a name="ex-indentation-three-trailing"></a><p class="title"><b>Example&nbsp;4.41.&nbsp;3 space trailing comment indent</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
147 new String[] {
148     "Sunday",--&gt;// Sunday
149     "Monday",--&gt;// Monday
150     "Tuesday",--&gt;// Tuesday
151     "Wednesday",--&gt;// Wednesday
152     "Thursday",--&gt;// Thursday
153     "Friday",--&gt;// Friday
154     "Saturday"--&gt;// Saturday
155 }
156 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-sizes-tab"></a>
157 Original Tab indent
158 </p><p>
159 Specifies the original tabular size of the source code. Some indentations
160 or alignments may fail, if you miss the correct size here.
161 <a class="indexterm" name="d0e2282"></a>
162 <a class="indexterm" name="d0e2288"></a>
163 </p></li><li><p><a name="indentation-sizes-extends"></a>
164 Extends indent
165 </p><p>
166 If enabled, specifies the whitespace to print before the <tt class="classname">extends</tt>
167 keyword in case it was printed on a new line.
168 </p><a class="indexterm" name="d0e2304"></a><div class="example"><a name="d0e2311"></a><p class="title"><b>Example&nbsp;4.42.&nbsp;extends indentation with 6 spaces</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
169 public interface Channel
170 ------&gt;extends Puttable, Takable
171 {
172     ...
173 }
174 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-sizes-implements"></a>
175 Implements indent
176 </p><p>
177 Specifies the whitespace to print before the <tt class="classname">implements</tt>
178 keyword in case it was printed on a new line.
179 </p><a class="indexterm" name="d0e2325"></a><div class="example"><a name="d0e2332"></a><p class="title"><b>Example&nbsp;4.43.&nbsp;implements indentation with 8 spaces</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
180 public class SynchronizedBoolean
181 -------&gt;implements Comparable, Cloneable
182 {
183     ...
184 }
185 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-sizes-throws"></a>
186 Throws indent
187 </p><p>
188 Specifies the whitespace to print before the <tt class="classname">throws</tt>
189 keyword in case it was printed on a new line.
190 <a class="indexterm" name="d0e2346"></a>
191 </p><div class="example"><a name="d0e2354"></a><p class="title"><b>Example&nbsp;4.44.&nbsp;throws indentation with 3 spaces</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
192 private static final File getDestinationFile(File dest, String packageName,
193                                              String filename)
194 --&gt;throws IOException, FooException
195 {
196     ...
197 }
198 </pre></td></tr></table></div><p></p></li></ul></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="indentation-misc"></a>4.3.3.2.&nbsp;Misc</h4></div></div><div></div></div><div class="itemizedlist"><ul type="disc"><li><p><a name="indentation-misc-tab"></a>
199 Use tabs to indent
200 <a class="indexterm" name="d0e2369"></a>
201 </p><p>
202 Normally, Jalopy uses spaces to indent lines. If you prefer tabs, check this box.
203 </p></li><li><p>
204 Indent "case" from "switch"
205 </p><p>
206 The Sun Java code convention recommends a switch style where case statements
207 are not indented relative to the switch statement as a whole. However, this
208 option allows you to indent the case statements to make the entire switch
209 statement stand out.
210 </p><div class="example"><a name="ex-indentation-misch-switch-un"></a><p class="title"><b>Example&nbsp;4.45.&nbsp;Switch statement (unindented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
211 switch (prio)
212 {
213 case Priority.ERROR_INT :
214 case Priority.FATAL_INT :
215     color = Color.red;
216     break;
217
218 case Priority.WARN_INT :
219     color = Color.blue;
220     break;
221
222 default:
223     color = Color.black;
224     break;
225 }
226 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-misc-switch"></a><p class="title"><b>Example&nbsp;4.46.&nbsp;Switch statement (indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
227 switch (prio)
228 {
229 ---&gt;case Priority.ERROR_INT :
230 ---&gt;case Priority.FATAL_INT :
231 ---&gt;    color = Color.red;
232 ---&gt;    break;
233
234 ---&gt;case Priority.WARN_INT :
235 ---&gt;    color = Color.blue;
236 ---&gt;    break;
237
238 ---&gt;default:
239 ---&gt;    color = Color.black;
240 ---&gt;    break;
241 }
242 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-misc-label"></a>
243 Indent labels
244 <a class="indexterm" name="d0e2397"></a>
245 </p><p>
246 Specifies whether lables should be indented with the current indentation level.
247 </p><div class="example"><a name="ex-indentation-misc-label-unindent"></a><p class="title"><b>Example&nbsp;4.47.&nbsp;Unindented label</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
248 // advance to the first CLASS_DEF or INTERFACE_DEF
249 <span class="bold"><b>LOOP</b></span>:
250         for (AST child = tree.getFirstChild();
251              child != null;
252              child = child.getNextSibling())
253         {
254             switch (child.getType())
255             {
256                 case JavaTokenTypes.CLASS_DEF :
257                 case JavaTokenTypes.INTERFACE_DEF :
258                     next = child;
259                     break LOOP;
260                 default :
261                     break;
262             }
263         }
264 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-misc-label"></a><p class="title"><b>Example&nbsp;4.48.&nbsp;Indented label</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
265         // advance to the first CLASS_DEF or INTERFACE_DEF
266         <span class="bold"><b>LOOP</b></span>:
267         for (AST child = tree.getFirstChild();
268              child != null;
269              child = child.getNextSibling())
270         {
271             switch (child.getType()) {
272                 case JavaTokenTypes.CLASS_DEF :
273                 case JavaTokenTypes.INTERFACE_DEF :
274                     next = child;
275                     break LOOP;
276
277                 default :
278                     break;
279             }
280         }
281 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-misc-first-column"></a>
282 Indent first column comments
283 </p><p>
284 Normally, all comments will be indented relative to their position in the code
285 to avoid that comments break the logical structure of the program. Some
286 developers may like to disable the indentation for first column comments
287 during the developing phase.
288 </p><div class="example"><a name="ex-indentation-misc-first-column"></a><p class="title"><b>Example&nbsp;4.49.&nbsp;First column comment (indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
289     public static Printer create(AST node)
290     {
291
292         <span class="bold"><b>/*
293         if (node == null)
294         {
295             return new NullPrinter();
296         }
297         */</b></span>
298         return create(node.getType());
299     }
300 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-misc-first-column-unindented"></a><p class="title"><b>Example&nbsp;4.50.&nbsp;First column comment (unindented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
301     public static Printer create(AST node)
302     {
303
304 <span class="bold"><b>/*
305         if (node == null)
306         {
307             return new NullPrinter();
308         }
309 */</b></span>
310         return create(node.getType());
311     }
312 </pre></td></tr></table></div><p></p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="indentation-align"></a>4.3.3.3.&nbsp;Align</h4></div></div><div></div></div><a class="indexterm" name="d0e2450"></a><a class="indexterm" name="d0e2455"></a><div class="itemizedlist"><ul type="disc"><li><p><a name="indentation-align-ident"></a>
313 Variable identifiers
314 </p><p>
315 If enabled, aligns the identifiers of variable declarations.
316 </p><a class="indexterm" name="d0e2464"></a><div class="example"><a name="ex-indentation-misc-align-ident"></a><p class="title"><b>Example&nbsp;4.51.&nbsp;Variable identifiers</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
317 String text = "text";
318 int a = -1;
319 History.Entry entry = new History.Entry(text);
320 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-align-ident-aligned"></a><p class="title"><b>Example&nbsp;4.52.&nbsp;Variable identifiers (aligned)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
321 String        text = "text";
322 int           a = -1;
323 History.Entry entry = new History.Entry(text);
324 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-align-assign"></a>
325 Variable assignments
326 </p><p>
327 If enabled, aligns the assignment parts of variable declarations or, surprise, assignments.
328 </p><a class="indexterm" name="d0e2488"></a><a class="indexterm" name="d0e2495"></a><div class="example"><a name="ex-indentation-align-assign-aligned"></a><p class="title"><b>Example&nbsp;4.53.&nbsp;Variable assignments (aligned)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
329 String text         = "text";
330 int a               = -1;
331 History.Entry entry = new History.Entry(text);
332 </pre></td></tr></table></div><p>
333 If both variable alignment options are enabled, you can achieve a style like
334 the following:
335 </p><div class="example"><a name="ex-indentation-align-both"></a><p class="title"><b>Example&nbsp;4.54.&nbsp;Variable identifiers/assignments (both aligned)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
336 String        text  = "text";
337 int           a     = -1;
338 History.Entry entry = new History.Entry(text);
339 </pre></td></tr></table></div><p>
340
341 </p></li><li><p><a name="indentation-align-params"></a>
342 Method Def parameters
343 </p><p>
344 If enabled, aligns the parameters of method declarations. This only applies if
345 all parameters will be wrapped; either because wrapping is forced or the
346 max. line length is reached. To force aligning, you have to enable the
347 wrapping for method parameters (See <a href="wrapping.html#wrap-method-params">Method Def parameters</a>).
348 </p><a class="indexterm" name="d0e2524"></a><a class="indexterm" name="d0e2527"></a><div class="example"><a name="ex-indentation-align-params"></a><p class="title"><b>Example&nbsp;4.55.&nbsp;Method declaration parameters</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
349 public static File create(final File file,
350                           File directory,
351                           int backupLevel)
352 {
353     ...
354 }
355 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-align-params-aligned"></a><p class="title"><b>Example&nbsp;4.56.&nbsp;Method declaration parameters (aligned)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
356 public static File create(final File file,
357                           File       directory,
358                           int        backupLevel)
359 {
360     ...
361 }
362 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-align-method-chains"></a>
363 Method Call chains
364 </p><p>
365 If disabled, indentation happens according to the current indentation level.
366 </p><div class="example"><a name="ex-indentation-align-call"></a><p class="title"><b>Example&nbsp;4.57.&nbsp;Method Call chain (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
367 Fachschluesselerzeugung.createService()
368 .getNeuerFachschluesselServiceService(
369     FachschluesselerzeugungService.FACHSCHLUESSEL_KZ_INTERESSENT);
370 </pre></td></tr></table></div><p>
371 Otherwise indentation is performed relative to the column offset of the first chain link.
372 </p><div class="example"><a name="ex-indentation-align-call-aligned"></a><p class="title"><b>Example&nbsp;4.58.&nbsp;Method Call chain  (aligned)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
373 Fachschluesselerzeugung.createService()
374                        .getNeuerFachschluesselServiceService(
375                             FachschluesselerzeugungService.FACHSCHLUESSEL_KZ_INTERESSENT);
376 </pre></td></tr></table></div><p></p></li><li><p><a name="indentation-align-ternary"></a>
377 Ternary expressions
378 </p><p>
379 If disabled, ternary expressions are printed according to the current
380 <a href="indentation.html#indentation-policy" title="4.3.3.1.1.&nbsp;Policy">indentation policy</a>.
381 </p><div class="example"><a name="ex-indentation-ternary-standard"></a><p class="title"><b>Example&nbsp;4.59.&nbsp;Ternary operators (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
382         alpha = (aLongBooleanExpression) ? beta    |
383         : gamma;                                   |
384 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-ternary-deep"></a><p class="title"><b>Example&nbsp;4.60.&nbsp;Ternary operators (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
385         alpha = (aLongBooleanExpression) ? beta    |
386                 : gamma;                           |
387 </pre></td></tr></table></div><p>
388 If enabled, the second operator will always be aligned relative to the first one.
389 </p><div class="example"><a name="ex-indentation-ternary-align"></a><p class="title"><b>Example&nbsp;4.61.&nbsp;Ternary expresssions (aligned)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
390         alpha = (aLongBooleanExpression) ? beta    |
391                                          : gamma;  |
392 </pre></td></tr></table></div><p>
393 Note that this switch only takes affect, if indeed a line break was inserted
394 before the second expression. You can force such line breaks with the
395 <a href="wrapping.html#wrap-ternary-colon">Wrap always before ternary expression colon</a> setting.
396 </p></li></ul></div><p></p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="indentation-continuation"></a>4.3.3.4.&nbsp;Continuation</h4></div></div><div></div></div><a class="indexterm" name="d0e2597"></a><a class="indexterm" name="d0e2602"></a><p>
397 Lets you specify extra indentation for consectutive lines of certain expressions.
398 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="indentation-misc-continuation-if"></a>
399 Blocks
400 </p><p>
401 The Sun brace style could make seeing the statement body difficult. To
402 workaround this problem, you may want to use continuation indentation in case you like this
403 brace style. This setting applies for <tt class="literal">if</tt>, <tt class="literal">for</tt>, <tt class="literal">while</tt>
404 and <tt class="literal">do-while</tt> blocks.
405 </p><div class="example"><a name="ex-indentation-misc-non-continuation"></a><p class="title"><b>Example&nbsp;4.62.&nbsp;Non-continuation indentation</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
406 if ((condition1 &amp;&amp; condition2)
407     || (condition3 &amp;&amp; condition4)
408     || !(condition5 &amp;&amp; condition6)) { // BAD WRAPS
409     doSomethingAboutIt();             // MAKE THIS LINE EASY TO MISS
410 }
411 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-indentation-misc-contiunation"></a><p class="title"><b>Example&nbsp;4.63.&nbsp;Continuation indentation</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
412 if ((condition1 &amp;&amp; condition2)
413         || (condition3 &amp;&amp; condition4)
414         || !(condition5 &amp;&amp; condition6)) {
415     doSomethingAboutIt();
416 }
417 </pre></td></tr></table></div><p>
418 Refer to <a href="printer.html#braces-style-styles" title="4.3.1.1.1.&nbsp;Styles">Section&nbsp;4.3.1.1.1, &#8220;Styles&#8221;</a> for the available brace style options.
419 </p></li><li><p><a name="indentation-misc-ternary-if-else"></a>
420 Operators
421 </p><p>
422 If enabled, indentation will be increased before an operand will be printed.
423 </p><div class="example"><a name="ex-indentation-misc-ternary-if-else"></a><p class="title"><b>Example&nbsp;4.64.&nbsp;Ternary expression (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
424 String comma = spaceAfterComma
425                ---&gt;? COMMA_SPACE
426                ---&gt;: COMMA;
427 </pre></td></tr></table></div><p></p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="whitespace.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="printer.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="wrapping.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.3.2.&nbsp;White Space&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;4.3.4.&nbsp;Wrapping</td></tr></table></div></td></tr></table></td></tr><tr><td bgcolor="#eeeecc" height="17" style="font-size:9px;padding-left:5px"><a href="#toppage">to top</a></td></tr><tr><td height="30"><br></td></tr><tr><td height="3"></td></tr><tr><td bgcolor="#336699" height="1"></td></tr><tr><td height="1"></td></tr><tr><td bgcolor="#336699" height="16"></td></tr><tr><td bgcolor="#ff9966" height="4"></td></tr><tr><td class="footer" align="center" height="15" valign="middle">
428             Copyright &copy; 2001-2004, <a class="footer" href="./contact.html">Marco Hunsicker</a>. All rights reserved. Hosted by <a href="http://sourceforge.net">SourceForge.net</a></td></tr></tbody></table><img src="http://sourceforge.net/sflogo.php?group_id=45216&amp;type=1" width="1" height="1" border="0" hspace="0" vspace="0" alt=""></body></html>