*/
public enum Condition
{
- Contains(false, true), NotContains(false, true), Matches(false, true),
- NotMatches(false, true), Present(false, false), NotPresent(false, false),
- EQ(true, true), NE(true, true), LT(true, true), LE(true, true),
- GT(true, true), GE(true, true);
-
+ Contains(false, true, "Contains"),
+ NotContains(false, true, "NotContains"), Matches(false, true, "Matches"),
+ NotMatches(false, true, "NotMatches"), Present(false, false, "Present"),
+ NotPresent(false, false, "NotPresent"), EQ(true, true, "EQ"),
+ NE(true, true, "NE"), LT(true, true, "LT"), LE(true, true, "LE"),
+ GT(true, true, "GT"), GE(true, true, "GE");
+
private boolean numeric;
private boolean needsAPattern;
- Condition(boolean isNumeric, boolean needsPattern)
+ /*
+ * value used to save a Condition to the
+ * Jalview project file or restore it from project;
+ * it should not be changed even if enum names change in future
+ */
+ private String stableName;
+
+ /**
+ * Answers the enum value whose 'stable name' matches the argument (not case
+ * sensitive), or null if no match
+ *
+ * @param stableName
+ * @return
+ */
+ public static Condition fromString(String stableName)
+ {
+ for (Condition c : values())
+ {
+ if (c.stableName.equalsIgnoreCase(stableName))
+ {
+ return c;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Constructor
+ *
+ * @param isNumeric
+ * @param needsPattern
+ * @param stablename
+ */
+ Condition(boolean isNumeric, boolean needsPattern, String stablename)
{
numeric = isNumeric;
needsAPattern = needsPattern;
+ stableName = stablename;
}
/**
return needsAPattern;
}
+ public String getStableName()
+ {
+ return stableName;
+ }
+
/**
* Answers a display name for the match condition, suitable for showing in
* drop-down menus. The value may be internationalized using the resource key