50ed77adb279ea8cb79cacfeaa58b6aa8b3c7a5f
[jalview.git] / utils / jalopy / docs / imports.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.7.&nbsp;Imports</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="comments.html" title="4.3.6.&nbsp;Comments"><link rel="next" href="environment.html" title="4.3.8.&nbsp;Environment"><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="imports.html#imports-sorting" title="4.3.7.1.&nbsp;General"><link rel="subsection" href="imports.html#import-grouping" title="4.3.7.2.&nbsp;Grouping"><link rel="subsection" href="imports.html#import-optimization" title="4.3.7.3.&nbsp;Optimize">
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.7.&nbsp;Imports</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="comments.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="environment.html">Next</a></td></tr></table><hr></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="imports"></a>4.3.7.&nbsp;Imports</h3></div></div><div></div></div><a class="indexterm" name="d0e4017"></a><p>
19 Controls the handling of import declarations.
20 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="imports-sorting"></a>4.3.7.1.&nbsp;General</h4></div></div><div></div></div><a class="indexterm" name="d0e4025"></a><p>
21 Enables the sorting of import statements. Sorting the import statements makes
22 it simple to browse a long list of imports.
23 </p><div class="itemizedlist"><ul type="disc"><li><p>
24 Sort import statements
25 </p><p>
26 Enables or disables the sorting of import statements. Enabling this option
27 will sort all imports lexicographically.
28 </p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="import-grouping"></a>4.3.7.2.&nbsp;Grouping</h4></div></div><div></div></div><a class="indexterm" name="d0e4039"></a><p>
29 In addition to sorting, associated packages can be grouped together to reduce
30 complexity by packing related information into a common unit.
31 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="imports-grouping-depth"></a>
32 Default grouping depth
33 </p><a class="indexterm" name="d0e4052"></a><a class="indexterm" name="d0e4059"></a><p>
34 Lets you define the default grouping depth. Only takes effect if sorting is enabled.
35 </p><p>
36 The grouping depth specifies the number of package name parts that are to
37 be taken into account in order to determine whether two import statements are to
38 be grouped together. For certain packages you may want to specify a grouping
39 depth that differs from the default.
40 </p><p>
41 Statements are to be grouped together, if all relevant parts are equal. So via
42 the grouping depth you can effectively specify how many parts are relevant.
43 </p><p>
44 To disable grouping at all, set the grouping depth to "<tt class="literal">0</tt>".
45 </p><div class="example"><a name="ex-imports-grouping-depth-one"></a><p class="title"><b>Example&nbsp;4.137.&nbsp;Grouping depth java='1'</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
46 import <span class="bold"><b>java</b></span>.awt.Color;
47 import <span class="bold"><b>java</b></span>.awt.Component;
48 import <span class="bold"><b>java</b></span>.awt.GridBagConstraints;
49 import <span class="bold"><b>java</b></span>.awt.GridBagLayout;
50 import <span class="bold"><b>java</b></span>.awt.event.ActionEvent;
51 import <span class="bold"><b>java</b></span>.awt.event.ActionListener;
52 import <span class="bold"><b>java</b></span>.util.ArrayList;
53 import <span class="bold"><b>java</b></span>.util.List;
54 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-imports-grouping-depth-two"></a><p class="title"><b>Example&nbsp;4.138.&nbsp;Grouping depth java='2'</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
55 import <span class="bold"><b>java.awt</b></span>.Color;
56 import <span class="bold"><b>java.awt</b></span>.Component;
57 import <span class="bold"><b>java.awt</b></span>.GridBagConstraints;
58 import <span class="bold"><b>java.awt</b></span>.GridBagLayout;
59 import <span class="bold"><b>java.awt</b></span>.event.ActionEvent;
60 import <span class="bold"><b>java.awt</b></span>.event.ActionListener;
61
62 import <span class="bold"><b>java.util</b></span>.ArrayList;
63 import <span class="bold"><b>java.util</b></span>.List;
64 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-imports-grouping-depth-three"></a><p class="title"><b>Example&nbsp;4.139.&nbsp;Grouping depth java= '3'</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
65 import <span class="bold"><b>java.awt</b></span>.Color;
66 import <span class="bold"><b>java.awt</b></span>.Component;
67 import <span class="bold"><b>java.awt</b></span>.GridBagConstraints;
68 import <span class="bold"><b>java.awt</b></span>.GridBagLayout;
69
70 import <span class="bold"><b>java.awt.event</b></span>.ActionEvent;
71 import <span class="bold"><b>java.awt.event</b></span>.ActionListener;
72
73 import <span class="bold"><b>java.util</b></span>.ArrayList;
74 import <span class="bold"><b>java.util</b></span>.List;
75 </pre></td></tr></table></div><p></p></li></ul></div><p>
76 You can add/remove package fragments (e.g. javax, javax.swing or com.foo.sarah)
77 via the <span><b class="guibutton">Add...</b></span> and <span><b class="guibutton">Remove</b></span>
78 buttons to fine-tune the appearance for certain packages.
79 </p><p>
80 To specify the order in which related statements should appear, you
81 may want to use the <span><b class="guibutton">Up</b></span> and <span><b class="guibutton">Down</b></span> buttons.
82 </p><p>
83 Note that the <tt class="literal">asterix</tt> represents all undefined packages.
84 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="import-optimization"></a>4.3.7.3.&nbsp;Optimize</h4></div></div><div></div></div><p>
85 Optimizes the import statements by either expanding or collapsing them. This
86 is a nice feature that is currently only available with the Ant and
87 JBuilder Plug-in.
88 </p><a class="indexterm" name="d0e4189"></a><div class="itemizedlist"><ul type="disc"><li><p><a name="import-optimization-expand"></a>
89 Expand on-demand imports
90 <a class="indexterm" name="d0e4198"></a>
91 </p><p>
92 If enabled, tries to expand all on-demand import statements.
93 </p><p><a name="imports-on-demand"></a>
94 Expanding means to resolve all on-demand import statements (sometimes called
95 wildcard imports) and replace them with single-type import statements (sometimes
96 called explicit imports) of the types that are actually used in the source file.
97 </p><a class="indexterm" name="d0e4208"></a><p>
98 So the following on-demand import statement may be expanded into two
99 single-type import statements that reference the needed types for this package.
100 </p><div class="example"><a name="ex-imports-on-demand"></a><p class="title"><b>Example&nbsp;4.140.&nbsp;On-demand import statement</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
101 import java.util.*;
102 </pre></td></tr></table></div><p></p><div class="example"><a name="ex-import-single-type"></a><p class="title"><b>Example&nbsp;4.141.&nbsp;Single-type import statements</b></p><table border="0" bgcolor="#E0E0E0" class="shade"><tr><td><pre class="programlisting">
103 import java.util.ArrayList;
104 import java.util.List;
105 </pre></td></tr></table></div><p>
106 Using single-type imports is quite useful and an absolute requirement in the
107 open source community as this code is usually really reviewed. Using
108 single-type imports makes it easy for the code reader to quickly find
109 out the package a particular type is in: You just search for the type name
110 from the start of the source file.
111 </p></li></ul></div><div class="itemizedlist"><ul type="disc"><li><p><a name="import-optimization-collapse"></a>
112 Collapse single-type imports
113 <a class="indexterm" name="d0e4232"></a>
114 <a class="indexterm" name="d0e4238"></a>
115 </p><p>
116 If enabled, tries to collapse all single-type statements.
117 </p><p>
118 Collapsing means to remove all single-type imports of a given package and
119 replace them with one on-demand import statement.
120 </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="comments.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="environment.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.3.6.&nbsp;Comments&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.8.&nbsp;Environment</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">
121             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>