3 import java.util.Comparator;
6 * An interface that describes the settings configurable in the Feature Settings
12 public interface FeatureSettingsI extends Comparator<String>
14 // note Java 8 will allow default implementations of these methods in the
15 // interface, simplifying instantiating classes
18 * Answers true if the specified feature type is displayed
23 boolean isFeatureDisplayed(String type);
26 * Answers true if the specified feature group is displayed
31 boolean isGroupDisplayed(String group);
34 * Returns the colour (or graduated colour) for the feature type, or null if
40 FeatureColourI getFeatureColour(String type);
43 * Returns the transparency value, from 0 (fully transparent) to 1 (fully
48 float getTransparency();
51 * Returns -1 if feature1 'precedes' (is displayed on top of) feature 2, +1 if
52 * feature2 is on top of feature1, or 0 if we don't care
59 int compare(String feature1, String feature2);
62 * Answers true if features should be initially sorted so that features with a
63 * shorter average length are displayed on top of those with a longer average
68 boolean optimiseOrder();