4 * An interface that describes the settings configurable in the Feature Settings
10 public interface FeatureSettingsI
12 // note Java 8 will allow default implementations of these methods in the
13 // interface, simplifying instantiating classes
16 * Answers true if the specified feature type is displayed
21 boolean isFeatureDisplayed(String type);
24 * Answers true if the specified feature group is displayed
29 boolean isGroupDisplayed(String group);
32 * Returns the colour (or graduated colour) for the feature type, or null if
38 FeatureColourI getFeatureColour(String type);
41 * Returns the transparency value, from 0 (fully transparent) to 1 (fully
46 float getTransparency();
49 * Returns -1 if feature1 'precedes' (is displayed on top of) feature 2, +1 if
50 * feature2 is on top of feature1, or 0 if we don't care
56 int compareTo(String feature1, String feature2);
59 * Answers true if features should be initially sorted so that features with a
60 * shorter average length are displayed on top of those with a longer average
65 boolean optimiseOrder();