Controls the handling of import declarations. With Java, import declarations are used to make types available within a compilation unit. There are two types of import declarations:
Single-type imports import a single named type.
On-demand imports import all accessible types declared in the type or package.
Lets you control the general imports settings.
Enables or disables the sorting of import declarations. Enabling this option will sort all declarations. When disabled, the declarations are printed in their original order.
Lets you control the sorting order and grouping behavior of import declarations. When sorting is enabled, import declarations will be sorted according to the positions of the package names as specified in the list component. To specify the order in which the declarations should appear, you can use the and buttons.
You can add/remove package names (e.g. javax, javax.swing or com.foo.sarah)
to and from the list via the and
buttons. A dialog appears that lets you add a new
grouping definition.
The star character (*) represents all undefined packages and
cannot be removed.
If you want to change an existing grouping definition, you can do so by selecting the definition you want to change in the list, and pressing the button. A dialog appears that lets you change an existing grouping definition. Alternatively, you can invoke the dialog by just double-clicking with the mouse on the grouping definition you want to change.
Note that the * that represents all
undefined packages, cannot be changed (you can only adjust the grouping depth).
In addition to sorting, associated declarations can be grouped together to reduce complexity by packing related information into a common unit. Grouping means that associated declarations are separated by one blank line. Grouping only happens if sorting is enabled.
Via the grouping depth you can control how many parts of a package name should be considered when determine whether two import declarations are to be grouped together. Grouping only happens when all relevant parts are equal. So via the grouping depth you can effectively specify how many package name parts are relevant.
This switch lets you define the default grouping depth that should be used when
no grouping depth was defined for a specific package name (see below).
To disable grouping at all, set the default grouping depth to '0'.
Example 2.738. Grouping depth == 1
import java.awt.Color; import java.awt.Component; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List;
Only the first part of the package name will be used to determine grouping.
Example 2.739. Grouping depth == 2
import java.awt.Color; import java.awt.Component; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List;
The first two parts of the package name will be used to determine grouping.
Example 2.740. Grouping depth == 3
import java.awt.Color; import java.awt.Component; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List;
The first three parts of the package name will be used to determine grouping.
To better differ between standard import declarations and the static imports introduced in J2SE 5.0, you can control whether static imports should be grouped separately. You can select whether static import declarations should be printed together with the standard import declarations (“Never”) or placed above (“Top”) or below (“Bottom”) all standard import declarations.
Since 1.4
Example 2.741. Mixed static/standard import declarations
import java.awt.BorderLayout; import javax.swing.SwingUtilities; import static javax.swing.WindowConstants; import z.Foo;
Example 2.742. Static import declarations placed above
import static javax.swing.WindowConstants; import java.awt.BorderLayout; import javax.swing.SwingUtilities; import z.Foo;
Example 2.743. Static import declarations placed below
import java.awt.BorderLayout; import javax.swing.SwingUtilities; import z.Foo; import static javax.swing.WindowConstants;