X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2Ffeatures%2FFeatureMatcher.java;h=124909c2e94b50d457dadc7aed9ba3da8aadffa7;hb=6785b0c3d7bdc780e0ca1737082b82374eaf8335;hp=50dd1022954008c4afeb8014cb11afd92c79ae4f;hpb=ec44bf310ff6aaa0438f486dadc65f2af385d99d;p=jalview.git
diff --git a/src/jalview/datamodel/features/FeatureMatcher.java b/src/jalview/datamodel/features/FeatureMatcher.java
index 50dd102..124909c 100644
--- a/src/jalview/datamodel/features/FeatureMatcher.java
+++ b/src/jalview/datamodel/features/FeatureMatcher.java
@@ -1,5 +1,27 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.datamodel.features;
+import java.util.Locale;
+
import jalview.datamodel.SequenceFeature;
import jalview.util.MessageManager;
import jalview.util.matcher.Condition;
@@ -125,7 +147,7 @@ public class FeatureMatcher implements FeatureMatcherI
int nextQuotePos = descriptor.indexOf(QUOTE, 1);
if (nextQuotePos == -1)
{
- System.err.println(invalidFormat);
+ jalview.bin.Console.errPrintln(invalidFormat);
return null;
}
firstField = descriptor.substring(1, nextQuotePos);
@@ -137,18 +159,18 @@ public class FeatureMatcher implements FeatureMatcherI
int nextSpacePos = descriptor.indexOf(SPACE);
if (nextSpacePos == -1)
{
- System.err.println(invalidFormat);
+ jalview.bin.Console.errPrintln(invalidFormat);
return null;
}
firstField = descriptor.substring(0, nextSpacePos);
leftToParse = descriptor.substring(nextSpacePos + 1).trim();
}
- String lower = firstField.toLowerCase();
- if (lower.startsWith(LABEL.toLowerCase()))
+ String lower = firstField.toLowerCase(Locale.ROOT);
+ if (lower.startsWith(LABEL.toLowerCase(Locale.ROOT)))
{
byLabel = true;
}
- else if (lower.startsWith(SCORE.toLowerCase()))
+ else if (lower.startsWith(SCORE.toLowerCase(Locale.ROOT)))
{
byScore = true;
}
@@ -171,7 +193,7 @@ public class FeatureMatcher implements FeatureMatcherI
cond = Condition.fromString(leftToParse);
if (cond == null || cond.needsAPattern())
{
- System.err.println(invalidFormat);
+ jalview.bin.Console.errPrintln(invalidFormat);
return null;
}
}
@@ -192,7 +214,7 @@ public class FeatureMatcher implements FeatureMatcherI
else
{
// unbalanced quote
- System.err.println(invalidFormat);
+ jalview.bin.Console.errPrintln(invalidFormat);
return null;
}
}
@@ -288,6 +310,7 @@ public class FeatureMatcher implements FeatureMatcherI
byLabel = forLabel;
byScore = forScore;
}
+
@Override
public boolean matches(SequenceFeature feature)
{
@@ -310,8 +333,8 @@ public class FeatureMatcher implements FeatureMatcherI
}
/**
- * Answers a string description of this matcher, suitable for display, debugging
- * or logging. The format may change in future.
+ * Answers a string description of this matcher, suitable for display,
+ * debugging or logging. The format may change in future.
*/
@Override
public String toString()
@@ -331,7 +354,7 @@ public class FeatureMatcher implements FeatureMatcherI
}
Condition condition = matcher.getCondition();
- sb.append(SPACE).append(condition.toString().toLowerCase());
+ sb.append(SPACE).append(condition.toString().toLowerCase(Locale.ROOT));
if (condition.isNumeric())
{
sb.append(SPACE).append(matcher.getPattern());
@@ -356,6 +379,12 @@ public class FeatureMatcher implements FeatureMatcherI
return byScore;
}
+ @Override
+ public boolean isByAttribute()
+ {
+ return getAttribute() != null;
+ }
+
/**
* {@inheritDoc} The output of this method should be parseable by method
* fromString to restore the original object.
@@ -387,7 +416,7 @@ public class FeatureMatcher implements FeatureMatcherI
sb.append(displayName);
}
}
-
+
Condition condition = matcher.getCondition();
sb.append(SPACE).append(condition.getStableName());
String pattern = matcher.getPattern();
@@ -405,7 +434,7 @@ public class FeatureMatcher implements FeatureMatcherI
sb.append(SPACE).append(pattern);
}
}
-
+
return sb.toString();
}
}