3 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
4 * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
6 * This file is part of Jalview.
8 * Jalview is free software: you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
21 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
22 <title>4.3.4. Wrapping</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. Printer"><link rel="previous" href="indentation.html" title="4.3.3. Indentation"><link rel="next" href="separation.html" title="4.3.5. Blank Lines"><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 I. Jalopy core"><link rel="chapter" href="installation.html" title="Chapter 1. Installation"><link rel="chapter" href="build.html" title="Chapter 2. Building"><link rel="chapter" href="usage.html" title="Chapter 3. Usage"><link rel="chapter" href="settings.html" title="Chapter 4. Settings"><link rel="part" href="part-plugins.html" title="Part II. Plug-ins"><link rel="chapter" href="plugin-ant.html" title="Chapter 5. Ant Plug-in task"><link rel="chapter" href="plugin-console.html" title="Chapter 6. Console Application"><link rel="chapter" href="plugin-eclipse.html" title="Chapter 7. Eclipse Plug-in"><link rel="chapter" href="plugin-jbuilder.html" title="Chapter 8. JBuilder OpenTool"><link rel="chapter" href="plugin-jdev.html" title="Chapter 9. JDeveloper Extension"><link rel="chapter" href="plugin-jedit.html" title="Chapter 10. jEdit Plug-in"><link rel="chapter" href="plugin-netbeans.html" title="Chapter 11. NetBeans/Sun ONE Studio module"><link rel="appendix" href="dependencies.html" title="Appendix A. Library Dependencies"><link rel="appendix" href="license-bsd.html" title="Appendix B. The Jalopy BSD License"><link rel="appendix" href="license-antlr.html" title="Appendix C. ANTLR SOFTWARE RIGHTS"><link rel="appendix" href="license-apache.html" title="Appendix D. The Apache Software License, Version 1.1"><link rel="appendix" href="license-gnu.html" title="Appendix E. GNU GENERAL PUBLIC LICENSE Version 2, June 1991"><link rel="appendix" href="license-gnu-doc.html" title="Appendix F. GNU Free Documentation License Version 1.1, March 2000"><link rel="appendix" href="license-common-public.html" title="Appendix G. Common Public License Version 1.0"><link rel="appendix" href="license-sun-public.html" title="Appendix H. SUN PUBLIC LICENSE Version 1.0"><link rel="index" href="ix01.html" title="Index"><link rel="subsection" href="wrapping.html#wrap-general" title="4.3.4.1. General"><link rel="subsection" href="wrapping.html#wrap-always" title="4.3.4.2. Always"><link rel="subsection" href="wrapping.html#wrap-misc" title="4.3.4.3. Misc">
23 <meta name="description" content="Jalopy Java Source Code Formatter Beautifier Pretty Printer">
24 <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))'>
25 </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> •
26 <a href="./download.html" class="navlink">Download</a> •
27 <a href="./docs.html" class="navlink">Documentation</a> •
28 <a href="./plugins.html" class="navlink">Plug-ins</a> •
29 <a href="./links.html" class="navlink">Links</a> •
30 <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> |
31 <a href="./history.html" class="navlink2">History</a> |
32 <a href="./manual.html" class="navlink2">Manual</a> |
33 <a href="./faq.html" class="navlink2">FAQ</a> |
34 <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">
35 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.4. Wrapping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="indentation.html">Prev</a> </td><th width="60%" align="center">4.3. Printer</th><td width="20%" align="right"> <a accesskey="n" href="separation.html">Next</a></td></tr></table><hr></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="wrapping"></a>4.3.4. Wrapping</h3></div></div><div></div></div><a class="indexterm" name="d0e2657"></a><a class="indexterm" name="d0e2660"></a><p>
36 Controls when and how lines gets wrapped.
37 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="wrap-general"></a>4.3.4.1. General</h4></div></div><div></div></div><p>
38 Lets you control the general line wrapping options.
39 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="wrap-general-general"></a>4.3.4.1.1. General</h5></div></div><div></div></div><p>
40 Lets you control the general line wrapping options.
41 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="wrap-use"></a>
44 Enables or disables the automatic line wrapping.
45 </p></li><li><p><a name="wrap-sizes-line"></a>
48 Lets you specify the maximum line length. Jalopy tries (more or less) to limit
49 each line within the given length.
50 </p><a class="indexterm" name="d0e2686"></a><a class="indexterm" name="d0e2691"></a></li><li><p><a name="wrap-sizes-deep"></a>
52 </p><a class="indexterm" name="d0e2697"></a><a class="indexterm" name="d0e2702"></a><p>
53 Specifies the length after which a gap will be identified as "deep indented".
54 Jalopy tries to avoid these kind of gaps and will force a line break or apply
55 another indentation scheme, if this size is exceeded.
56 </p><div class="example"><a name="ex-wrap-sizes-deep"></a><p class="title"><b>Example 4.65. Deep indent size (60) not exceeded</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
58 protected static synchronized File getANewDestinationFile(File dest, |
61 |----------------- the gap ---------------------------|throws IOException |
66 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-sizes-deep-exceed"></a><p class="title"><b>Example 4.66. Deep indent size (50) exeeded</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
68 protected static synchronized File getANewDestinationFile(File dest, |
71 |----------------- the gap ---------------------------|throws IOException |
76 </pre></td></tr></table></div></li></ul></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="wrap-policy"></a>4.3.4.1.2. Policy</h5></div></div><div></div></div><a class="indexterm" name="d0e2721"></a><a class="indexterm" name="d0e2726"></a><p>
77 Lets you fine-control the wrapping behaviour.
78 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="wrap-left-parenthesis"></a>
79 Wrap after left parenthesis
81 Lets you control the wrapping behaviour for statement and expression lists.
83 If left disabled, the first line break will be preferably inserted
84 behind the first parameter or expression and only occurs after the left
85 parenthesis if the maximum line length would be exceeded.</p><div class="example"><a name="ex-wrap-left-parenthesis-disabled"></a><p class="title"><b>Example 4.67. Wrap after left parenthesis (disabled)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
87 appServerReferencesVector.add<span class="bold"><b>(</b></span>new AppServerReference<span class="bold"><b>(</b></span>
88 "RemoteApplicationManager", |
89 poa.create_reference_with_id<span class="bold"><b>(</b></span> |
90 "RemoteApplicationManager".getBytes(), |
91 RemoteApplicationManagerHelper.id()))); |
93 </pre></td></tr></table></div><p>
94 Otherwise the line break will always occur behind the left parenthesis.
95 </p><div class="example"><a name="ex-wrap-left-parenthesis-enabled"></a><p class="title"><b>Example 4.68. Wrap after left parenthesis (enabled)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
96 appServerReferencesVector.add<span class="bold"><b>(</b></span>
97 new AppServerReference<span class="bold"><b>(</b></span>
98 "RemoteApplicationManager",
99 poa.create_reference_with_id<span class="bold"><b>(</b></span>
100 "RemoteApplicationManager".getBytes(),
101 RemoteApplicationManagerHelper.id())));
102 </pre></td></tr></table></div><p>
103 This switch affects the output style of method/constructor declarations and
104 calls, creator statements and <tt class="literal">if-else</tt>, <tt class="literal">for</tt>,
105 <tt class="literal">while</tt> and <tt class="literal">do-while</tt> blocks.
107 As per default, the wrapped lines will be indended using
108 <a href="indentation.html#indentation-policy-standard">Standard indentation</a>, but you
109 may want to apply another indentation scheme. See
110 <a href="indentation.html#indentation-policy" title="4.3.3.1.1. Policy">Section 4.3.3.1.1, “Policy”</a> for more information.
111 </p><p></p></li><li><p><a name="wrap-right-parenthesis"></a>
112 Wrap before right parenthesis
114 Forces a line break before the right parenthesis of parameter or expression lists.
115 The parenthesis will be intended according to the current indentation level.
116 Only takes action if at least one parameter/expression was indeed wrapped.
118 This switch affects the output style of method/constructor declarations and
119 calls, creator statements and <tt class="literal">if-else</tt>, <tt class="literal">for</tt>,
120 <tt class="literal">while</tt> and <tt class="literal">do-while</tt> blocks.
121 </p><div class="example"><a name="ex-wrap-right-parenthesis"></a><p class="title"><b>Example 4.69. Right parenthesis (disabled)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
122 public void severalParameters(String one,
126 AnotherObject five<span class="bold"><b>)</b></span> {
128 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-right-parenthesis-enabled"></a><p class="title"><b>Example 4.70. Right parenthesis (enabled)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
129 public void severalParameters(String one,
134 <span class="bold"><b>)</b></span> {
136 </pre></td></tr></table></div><p>
137 Both switches combined, looks like the following example:
138 </p><div class="example"><a name="ex-wrap-left-right-parenthesis"></a><p class="title"><b>Example 4.71. Left and right parenthesis</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
139 appServerReferencesVector.add<span class="bold"><b>(</b></span>
140 new AppServerReference<span class="bold"><b>(</b></span>
141 "RemoteApplicationManager",
142 poa.create_reference_with_id<span class="bold"><b>(</b></span>
143 "RemoteApplicationManager".getBytes(),
144 RemoteApplicationManagerHelper.id()
145 <span class="bold"><b>)</b></span>
146 <span class="bold"><b>)</b></span>
147 <span class="bold"><b>)</b></span>;
148 </pre></td></tr></table></div><p>
149 For blocks the output may go like this:
150 </p><div class="example"><a name="ex-wrap-left-right-parenthesis-wrapped-continue"></a><p class="title"><b>Example 4.72. Left and right parenthesis (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
151 if <span class="bold"><b>(</b></span>
152 "pick".equals(m.getName()) && m.isStatic() && m.isPublic()
153 <span class="bold"><b>)</b></span> {
156 else if <span class="bold"><b>(</b></span>
157 "pick".equals(m.getName()) && m.isStatic() && m.isPublic()
158 <span class="bold"><b>)</b></span> {
161 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-grouping-paren"></a>
162 Wrap grouping parentheses
164 Lets you control the wrapping behaviour for grouping parentheses. If enabled,
165 linebreaks are inserted after left and before right parentheses of grouped
166 expressions to let the expression(s) stand out.
167 </p><div class="example"><a name="ex-wrap-grouping-no"></a><p class="title"><b>Example 4.73. Grouping parentheses (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
169 !<span class="bold"><b>(</b></span>(bankverbindung instanceof ObjectValue)
170 || (bankverbindung instanceof PrimitiveValue<span class="bold"><b>)</b></span>)
172 throw new RuntimeException();
174 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-grouping"></a><p class="title"><b>Example 4.74. Wrapped grouping parentheses (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
176 !<span class="bold"><b>(</b></span>
177 (bankverbindung instanceof ObjectValue)
178 || (bankverbindung instanceof TkPrimitiveValue)
179 <span class="bold"><b>)</b></span>
181 throw new RuntimeException();
183 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-after-assignment"></a>
184 Wrap after assignments
186 Lets you control the way wrapping takes action for assignments. If left disabled,
187 line wrapping preferably occurs as part of the expression printing. Otherwise
188 wrapping will be performed right after the assignment.
189 </p><div class="example"><a name="ex-wrap-assignment-no"></a><p class="title"><b>Example 4.75. Don't wrap after assignment</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
190 this.interessentenNr = new InteressentenNr(
191 Fachschluesselerzeugung.createService()
192 .getNeuerFachschluessel(
193 FachschluesselerzeugungService.FACHSCHLUESSEL_KZ_INTERESSENT
196 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-assignment"></a><p class="title"><b>Example 4.76. Wrap after assignment</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
197 this.interessentenNr =
199 Fachschluesselerzeugung.createService()
200 .getNeuerFachschluessel(
201 FachschluesselerzeugungService.FACHSCHLUESSEL_KZ_INTERESSENT
204 </pre></td></tr></table></div><p></p></li></ul></div><p>
205 Line wrapping will often occur with statements that consist of several (possibly long)
206 expressions. Here you specify whether line wrapping should occur
207 before or after the expression operator.
208 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="wrap-before"></a>
209 Wrap before operators
210 </p><a class="indexterm" name="d0e2926"></a><p>
211 If enabled, lines will be wrapped before the operator. The operator will be
212 printed with the continuation line.
213 </p><div class="example"><a name="ex-wrap-before"></a><p class="title"><b>Example 4.77. Wrap before operators</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
214 if ((condition1 && condition2)
215 || (condition3 && condition4)
216 || !(condition5 && condition6))
218 doSomethingAboutIt();
220 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-after"></a>
222 </p><a class="indexterm" name="d0e2942"></a><p>
223 If enabled, lines will be wrapped after the operator.
224 </p><div class="example"><a name="ex-wrap-after"></a><p class="title"><b>Example 4.78. Wrap after operators</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
225 if ((condition1 && condition2) ||
226 (condition3 && condition4) ||
227 !(condition5 && condition6))
229 doSomethingAboutIt();
231 </pre></td></tr></table></div><p>
232 If you happen to use Sun Brace styling, you might want to enable
233 <a href="indentation.html#indentation-misc-continuation-if">continuation indentation</a>
234 to let the statement body stand out.
235 </p><p></p></li></ul></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="wrap-always"></a>4.3.4.2. Always</h4></div></div><div></div></div><p>
236 Lets you choose the statements/expressions that are to be wrapped always.
237 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="wrap-always-pane"></a>4.3.4.2.1. Wrap always</h5></div></div><div></div></div><p>
238 For certain cases, the need may arise to force line wrapping to achieve a
239 consistent, uniform look. If you enable any of the following switches, line wrapping
240 will occur for the specified cases no matter whether you have enabled general
241 line wrapping or not.
242 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="wrap-before-extends"></a>
243 Before extends keyword
245 Forces a line break before the extends keyword of a class/interface declaration.
246 </p><div class="example"><a name="ex-wrap-before-extends"></a><p class="title"><b>Example 4.79. Class/Interface extends keyword</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
247 public interface Channel extends Puttable, Takable
251 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-before-extends-wrapped"></a><p class="title"><b>Example 4.80. Class/Interface extends keyword (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
252 public interface Channel
253 extends Puttable, Takable
257 </pre></td></tr></table></div><p>
258 You can control the space printed before the keyword with the
259 <a href="indentation.html#indentation-sizes-extends">Extends Indent</a> setting.
260 If you leave the switch disabled, the clause will be printed with
261 <a href="indentation.html#indentation-sizes-general">standard indentation</a>.
265 Forces a line wrap after each type name of the extended classes.
266 </p><div class="example"><a name="ex-wrap-after-extends"></a><p class="title"><b>Example 4.81. Class/Interface extends types</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
267 public interface Channel extends Puttable, Takable
271 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-after-extends-wrapped"></a><p class="title"><b>Example 4.82. Class/Interface extends types (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
272 public interface Channel extends Puttable,
277 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-before-implements"></a>
278 Before implements keyword
280 Forces a line break before the implements keyword of a class declaration.
281 </p><div class="example"><a name="ex-wrap-before-implements"></a><p class="title"><b>Example 4.83. implements keyword</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
282 public class SynchronizedBoolean implements Comparable, Cloneable
286 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-before-implements-wrapped"></a><p class="title"><b>Example 4.84. implements keyword (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
287 public class SynchronizedBoolean
288 implements Comparable, Cloneable
292 </pre></td></tr></table></div><p>
293 You can control the space printed before the keyword with the
294 <a href="indentation.html#indentation-sizes-implements">Implements Indent</a> setting.
295 If you leave the switch disabled, the clause will be printed with
296 <a href="indentation.html#indentation-sizes-general">standard indentation</a>.
297 </p></li><li><p><a name="wrap-after-implements"></a>
298 After implements types
300 Forces a line wrap after each type name of the implemented classes.
301 </p><div class="example"><a name="ex-wrap-implements-types"></a><p class="title"><b>Example 4.85. Class implements types</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
302 public class SynchronizedBoolean implements Comparable, Cloneable
306 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-implements-types-wrapped"></a><p class="title"><b>Example 4.86. Class implements types (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
307 public class SynchronizedBoolean implements Comparable,
312 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-before-throws"></a>
313 Before throws keyword
315 Forces a line break before the throws keyword of a method/constructor declaration.
316 </p><div class="example"><a name="ex-wrap-before-throws"></a><p class="title"><b>Example 4.87. throws keyword</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
317 private File getDestinationFile(File dest, String packageName,
318 String filename) throws IOException
322 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-before-throws-wrapped"></a><p class="title"><b>Example 4.88. throws keyword (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
323 private File getDestinationFile(File dest, String packageName,
329 </pre></td></tr></table></div><p>
330 You can control the space printed before the keyword with the
331 <a href="indentation.html#indentation-sizes-throws">Throws Indent</a> setting. If you
332 leave the switch disabled, Jalopy tries to align the throws clause with the
333 method/constructor parameters as with the above example. If no alignment is
334 possible, the clause will be printed with
335 <a href="indentation.html#indentation-sizes-general">standard indentation</a>.
336 </p></li><li><p><a name="wrap-after-throws"></a>
339 Forces a line wrap after each type name of the throws clause of a method/constructor declaration.
340 </p><div class="example"><a name="ex-wrap-after-throws-types"></a><p class="title"><b>Example 4.89. throws types</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
341 private File getDestinationFile(File dest, String packageName,
343 throws IOException, FooException
347 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-after-throws-types-wrapped"></a><p class="title"><b>Example 4.90. throws types (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
348 private File getDestinationFile(File dest, String packageName,
355 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-after-throws-types-wrapped-standard"></a><p class="title"><b>Example 4.91. throws types (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
356 private static final File getDestinationFile(File dest, String packageName,
363 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-method-params"></a>
364 Method Def parameters
365 </p><a class="indexterm" name="d0e3103"></a><a class="indexterm" name="d0e3106"></a><p>
366 Forces a line wrap after each parameter of a method or constructor declaration.
367 </p><div class="example"><a name="ex-wrap-method-params"></a><p class="title"><b>Example 4.92. Method declaration parameters</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
368 public static File create(File file, File directory, int backupLevel)
373 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-method-params-wrapped"></a><p class="title"><b>Example 4.93. Method declaration parameters (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
374 public static File create(File file,
381 </pre></td></tr></table></div></li><li><p><a name="wrap-call-chained"></a>
384 Forces a line wrap after each chained method call.
385 </p><div class="example"><a name="ex-wrap-call-chained"></a><p class="title"><b>Example 4.94. Chained Method Call</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
386 message.format(ERROR_SOURCE_ADDRESS).param (m_session.getAimName()).send();
387 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-call-chained-wrapped"></a><p class="title"><b>Example 4.95. Chained Method Call (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
388 message.format(ERROR_SOURCE_ADDRESS)
389 .param (m_session.getAimName())
391 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-method-call-params"></a>
392 Method Call parameters
394 Forces a line wrap after each parameter of a method call.
395 </p><div class="example"><a name="ex-wrap-method-call"></a><p class="title"><b>Example 4.96. Method call</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
397 _userDatabase.addUser("Name", encryptPassword("password", _secretKey),
400 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-method-call-wrapped"></a><p class="title"><b>Example 4.97. Method call (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
402 _userDatabase.addUser("Name",
403 encryptPassword("password",
407 </pre></td></tr></table></div><p></p></li><li><p>
408 Method Call parameters if nested
410 Forces a line wrap after each parameter of a method call if at least one
411 parameter is a method call itself. This option can prove especially useful if
412 one prefers to nest method calls as parameters rather than adding local
413 variables just to hold those parameters.
414 </p><div class="example"><a name="ex-wrap-method-call-nested-wrapped"></a><p class="title"><b>Example 4.98. Method call if nested (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
416 _userDatabase.addUser("Name",
417 encryptPassword("password", _secretKey),
420 </pre></td></tr></table></div><p></p></li><li><p>
421 Ternary expression question mark (<tt class="literal">?</tt>)
423 Forces a line wrap after the first operand.
424 </p><div class="example"><a name="ex-wrap-ternary-expr"></a><p class="title"><b>Example 4.99. Ternary expression question mark (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
425 String comma = spaceAfterComma
426 ? COMMA_SPACE : COMMA;
427 </pre></td></tr></table></div><p>
428 Indentation for consecutive lines depends on the used <a href="indentation.html#indentation-policy" title="4.3.3.1.1. Policy">indenatation policy</a>.
429 You may further want to use <a href="indentation.html#indentation-misc-ternary-if-else">continuation indentation</a>.
430 </p></li><li><p><a name="wrap-ternary-colon"></a>
431 Ternary expression colon (<tt class="literal">:</tt>)
433 Forces a line wrap after the second operand.
434 </p><div class="example"><a name="ex-wrap-ternary-values"></a><p class="title"><b>Example 4.100. Ternary expression colon</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
435 String comma = spaceAfterComma ? COMMA_SPACE
437 </pre></td></tr></table></div><p>
438 If both switches are disabled, ternary expressions are printed in one line (if everything fits in one line, that is).
439 </p><div class="example"><a name="ex-wrap-ternary"></a><p class="title"><b>Example 4.101. Ternary expressions</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
440 String comma = spaceAfterComma ? COMMA_SPACE : COMMA;
441 </pre></td></tr></table></div><p>
442 If both switches are enabled, you can force a style like the following:
443 </p><div class="example"><a name="ex-wrap-ternary-continued"></a><p class="title"><b>Example 4.102. Ternary expressions (continued)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
444 String comma = spaceAfterComma
447 </pre></td></tr></table></div><p></p></li><li><p><a name="wrap-always-label"></a>
449 </p><a class="indexterm" name="d0e3222"></a><a class="indexterm" name="d0e3225"></a><p>
450 Forces a line wrap after labels.
451 </p><div class="example"><a name="ex-wrap-always-label"></a><p class="title"><b>Example 4.103. Label</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
452 // advance to the first CLASS_DEF or INTERFACE_DEF
453 LOOP: for (AST child = tree.getFirstChild();
455 child = child.getNextSibling())
457 switch (child.getType())
459 case JavaTokenTypes.CLASS_DEF :
460 case JavaTokenTypes.INTERFACE_DEF :
468 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wraping-always-label-wrapped"></a><p class="title"><b>Example 4.104. Label (wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
469 // advance to the first CLASS_DEF or INTERFACE_DEF
471 for (AST child = tree.getFirstChild();
473 child = child.getNextSibling())
475 switch (child.getType())
477 case JavaTokenTypes.CLASS_DEF :
478 case JavaTokenTypes.INTERFACE_DEF :
486 </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="wrap-always-exceed"></a>4.3.4.2.2. Wrap always when exceed</h5></div></div><div></div></div><p>
487 Lets you force wrapping for <span class="emphasis"><em>all</em></span> parameter or expressions if
488 the parameter or expression list would otherwise exceed the maximal line length.
489 If you enable any of the following switches, line wrapping
490 may occur for the specified cases no matter whether you have enabled general
491 line wrapping or not.
492 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="wrap-always-extends"></a>
495 Forces a line wrap after each type name of the <tt class="literal">extends</tt> clause of a
496 class/interface declaration if the whole clause does not fit in one line.
497 </p><div class="example"><a name="ex-wrap-always-extends"></a><p class="title"><b>Example 4.105. Extends types wrapped as needed (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
498 public interface VeryImportantInterface |
499 extends LeastImportantInterface, LessImportantInterface, |
504 </pre></td></tr></table></div><p></p><div class="example"><a name="wrap-always-extends-enabled"></a><p class="title"><b>Example 4.106. Extends types wrapping forced (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
505 public interface VeryImportantInterface |
506 extends LeastImportantInterface, |
507 LessImportantInterface, |
512 </pre></td></tr></table></div></li><li><p><a name="wrap-always-implements"></a>
513 After implements types
515 Forces a line wrap after each type name of the <tt class="literal">implements</tt> clause of a
516 class/interface declaration if the whole clause does not fit in one line.
517 </p><div class="example"><a name="ex-wrap-always-implements"></a><p class="title"><b>Example 4.107. Implements types wrapped as needed (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
518 public class ImportantClass |
519 implements ImportantInterface, Serializable, Comparable, |
524 </pre></td></tr></table></div><p></p><div class="example"><a name="wrap-always-implements-enabled"></a><p class="title"><b>Example 4.108. Implements types wrapping forced (standard indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
525 public class ImportantClass |
526 implements ImportantInterface, |
533 </pre></td></tr></table></div></li><li><p><a name="wrap-always-throws"></a>
536 Forces a line wrap after each type name of the <tt class="literal">throws</tt> clause of a
537 method/constructor declaration if the whole clause does not fit in one line.
538 </p><div class="example"><a name="ex-wrap-always-throws"></a><p class="title"><b>Example 4.109. Throws types wrapped as needed (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
539 private File getDestinationFile(File dest, String packageName, |
541 throws IOException, FooException, |
546 </pre></td></tr></table></div><p></p><div class="example"><a name="wrap-always-throws-enabled"></a><p class="title"><b>Example 4.110. Throws types wrapping forced (deep indented)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
547 private File getDestinationFile(File dest, String packageName, |
549 throws IOException, |
555 </pre></td></tr></table></div></li><li><p><a name="wrap-always-param"></a>
556 After parameters/expressions
558 If enabled, this switch will cause all parameters/expressions to be
559 wrapped, if and only if the first parameter/expression of the list has been
561 </p><div class="example"><a name="ex-wrap-all"></a><p class="title"><b>Example 4.111. Expression list (all wrapped)</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
563 "pick".equals(m.getName()) &&
564 m.isStatic() &&
570 "pick".equals(m.getName()) &&
571 m.isStatic() &&
576 </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="wrap-misc"></a>4.3.4.3. Misc</h4></div></div><div></div></div><p>Lets you control miscellaneous wrapping settings.</p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="wrap-misc-arrays"></a>4.3.4.3.1. Arrays</h5></div></div><div></div></div><p>Contains options to control the wrapping for arrays.</p><div class="itemizedlist"><ul type="disc"><li><p>Wrap as needed</p><p>Enabling this options means array elements will be wrapped so that they
577 will be limited within the current <a href="wrapping.html#wrap-sizes-line">line length</a> setting.</p><div class="example"><a name="ex-wrap-arrays-as-needed"></a><p class="title"><b>Example 4.112. Wrap as needed</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
578 String[] constraints = { |
579 "patternPanel.top=form.top", "patternPanel.hcenter=form.hcenter", |
580 "okButton.top=patternPanel.bottom+20", |
581 "okButton.right=form.hcenter-10", "cancelButton.vcenter=10", |
582 "cancelButton.left=10" |
584 </pre></td></tr></table></div><p></p></li><li><p>Wrap after element</p><p>Forces a newline after every n-th element.</p><div class="example"><a name="ex-wrap-arrays-after-one"></a><p class="title"><b>Example 4.113. Wrap after element 1</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
585 String[] constraints = { |
586 "patternPanel.top=form.top", |
587 "patternPanel.hcenter=form.hcenter", |
588 "okButton.top=patternPanel.bottom+20", |
589 "okButton.right=form.hcenter-10", |
590 "cancelButton.vcenter=10", |
591 "cancelButton.left=10" |
593 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-wrap-arrays-after-two"></a><p class="title"><b>Example 4.114. Wrap after element 2</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
594 String[] constraints = { |
595 "patternPanel.top=form.top", "patternPanel.hcenter=form.hcenter",
596 "okButton.top=patternPanel.bottom+20", "okButton.right=form.hcenter-10",
597 "cancelButton.vcenter=10", "cancelButton.left=10" |
599 </pre></td></tr></table></div><p>
600 If both options are left disabled, the array elements will be printed in one
601 line, right after the left curly brace.
602 </p></li></ul></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="indentation.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="printer.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="separation.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.3.3. Indentation </td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top"> 4.3.5. Blank Lines</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">
603 Copyright © 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&type=1" width="1" height="1" border="0" hspace="0" vspace="0" alt=""></body></html>