package jalview.util.matcher; import jalview.util.MessageManager; /** * An enumeration for binary conditions that a user might choose from when * setting filter or match conditions for values */ 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); private boolean numeric; private boolean needsAPattern; Condition(boolean isNumeric, boolean needsPattern) { numeric = isNumeric; needsAPattern = needsPattern; } /** * Answers true if the condition does a numerical comparison, else false * (string comparison) * * @return */ public boolean isNumeric() { return numeric; } /** * Answers true if the condition requires a pattern to compare against, else * false * * @return */ public boolean needsAPattern() { return needsAPattern; } /** * Answers a display name for the match condition, suitable for showing in * drop-down menus. The value may be internationalized using the resource key * "label.matchCondition_" with the enum name appended. * * @return */ @Override public String toString() { return MessageManager.getStringOrReturn("label.matchCondition_", name()); } }