update author list in license for (JAL-826)
[jalview.git] / utils / jalopy / docs / imports.html
1
2 <!--
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
5  * 
6  * This file is part of Jalview.
7  * 
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.
11  * 
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.
16  * 
17  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
18 -->
19     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
20   <html><head>
21       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
22    <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">
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> &#149;
26                     <a href="./download.html" class="navlink">Download</a> &#149;
27                     <a href="./docs.html" class="navlink">Documentation</a> &#149;
28                     <a href="./plugins.html" class="navlink">Plug-ins</a> &#149;
29                     <a href="./links.html" class="navlink">Links</a> &#149;
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.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>
36 Controls the handling of import declarations.
37 </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>
38 Enables the sorting of import statements. Sorting the import statements makes
39 it simple to browse a long list of imports.
40 </p><div class="itemizedlist"><ul type="disc"><li><p>
41 Sort import statements
42 </p><p>
43 Enables or disables the sorting of import statements. Enabling this option
44 will sort all imports lexicographically.
45 </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>
46 In addition to sorting, associated packages can be grouped together to reduce
47 complexity by packing related information into a common unit.
48 </p><div class="itemizedlist"><ul type="disc"><li><p><a name="imports-grouping-depth"></a>
49 Default grouping depth
50 </p><a class="indexterm" name="d0e4052"></a><a class="indexterm" name="d0e4059"></a><p>
51 Lets you define the default grouping depth. Only takes effect if sorting is enabled.
52 </p><p>
53 The grouping depth specifies the number of package name parts that are to
54 be taken into account in order to determine whether two import statements are to
55 be grouped together. For certain packages you may want to specify a grouping
56 depth that differs from the default.
57 </p><p>
58 Statements are to be grouped together, if all relevant parts are equal. So via
59 the grouping depth you can effectively specify how many parts are relevant.
60 </p><p>
61 To disable grouping at all, set the grouping depth to "<tt class="literal">0</tt>".
62 </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">
63 import <span class="bold"><b>java</b></span>.awt.Color;
64 import <span class="bold"><b>java</b></span>.awt.Component;
65 import <span class="bold"><b>java</b></span>.awt.GridBagConstraints;
66 import <span class="bold"><b>java</b></span>.awt.GridBagLayout;
67 import <span class="bold"><b>java</b></span>.awt.event.ActionEvent;
68 import <span class="bold"><b>java</b></span>.awt.event.ActionListener;
69 import <span class="bold"><b>java</b></span>.util.ArrayList;
70 import <span class="bold"><b>java</b></span>.util.List;
71 </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">
72 import <span class="bold"><b>java.awt</b></span>.Color;
73 import <span class="bold"><b>java.awt</b></span>.Component;
74 import <span class="bold"><b>java.awt</b></span>.GridBagConstraints;
75 import <span class="bold"><b>java.awt</b></span>.GridBagLayout;
76 import <span class="bold"><b>java.awt</b></span>.event.ActionEvent;
77 import <span class="bold"><b>java.awt</b></span>.event.ActionListener;
78
79 import <span class="bold"><b>java.util</b></span>.ArrayList;
80 import <span class="bold"><b>java.util</b></span>.List;
81 </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">
82 import <span class="bold"><b>java.awt</b></span>.Color;
83 import <span class="bold"><b>java.awt</b></span>.Component;
84 import <span class="bold"><b>java.awt</b></span>.GridBagConstraints;
85 import <span class="bold"><b>java.awt</b></span>.GridBagLayout;
86
87 import <span class="bold"><b>java.awt.event</b></span>.ActionEvent;
88 import <span class="bold"><b>java.awt.event</b></span>.ActionListener;
89
90 import <span class="bold"><b>java.util</b></span>.ArrayList;
91 import <span class="bold"><b>java.util</b></span>.List;
92 </pre></td></tr></table></div><p></p></li></ul></div><p>
93 You can add/remove package fragments (e.g. javax, javax.swing or com.foo.sarah)
94 via the <span><b class="guibutton">Add...</b></span> and <span><b class="guibutton">Remove</b></span>
95 buttons to fine-tune the appearance for certain packages.
96 </p><p>
97 To specify the order in which related statements should appear, you
98 may want to use the <span><b class="guibutton">Up</b></span> and <span><b class="guibutton">Down</b></span> buttons.
99 </p><p>
100 Note that the <tt class="literal">asterix</tt> represents all undefined packages.
101 </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>
102 Optimizes the import statements by either expanding or collapsing them. This
103 is a nice feature that is currently only available with the Ant and
104 JBuilder Plug-in.
105 </p><a class="indexterm" name="d0e4189"></a><div class="itemizedlist"><ul type="disc"><li><p><a name="import-optimization-expand"></a>
106 Expand on-demand imports
107 <a class="indexterm" name="d0e4198"></a>
108 </p><p>
109 If enabled, tries to expand all on-demand import statements.
110 </p><p><a name="imports-on-demand"></a>
111 Expanding means to resolve all on-demand import statements (sometimes called
112 wildcard imports) and replace them with single-type import statements (sometimes
113 called explicit imports) of the types that are actually used in the source file.
114 </p><a class="indexterm" name="d0e4208"></a><p>
115 So the following on-demand import statement may be expanded into two
116 single-type import statements that reference the needed types for this package.
117 </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">
118 import java.util.*;
119 </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">
120 import java.util.ArrayList;
121 import java.util.List;
122 </pre></td></tr></table></div><p>
123 Using single-type imports is quite useful and an absolute requirement in the
124 open source community as this code is usually really reviewed. Using
125 single-type imports makes it easy for the code reader to quickly find
126 out the package a particular type is in: You just search for the type name
127 from the start of the source file.
128 </p></li></ul></div><div class="itemizedlist"><ul type="disc"><li><p><a name="import-optimization-collapse"></a>
129 Collapse single-type imports
130 <a class="indexterm" name="d0e4232"></a>
131 <a class="indexterm" name="d0e4238"></a>
132 </p><p>
133 If enabled, tries to collapse all single-type statements.
134 </p><p>
135 Collapsing means to remove all single-type imports of a given package and
136 replace them with one on-demand import statement.
137 </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">
138             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>