From 9ba674a3960495143ed0bfcc2e5a3b7645d100da Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Sat, 9 Jul 2022 14:00:10 -0500 Subject: Fixed some issues in the PrefixSearchRule: - output map was mutable, should be immutable - renamed allowUnit to prefixableUnitRule so that the name is actually understandable --- src/main/java/sevenUnitsGUI/PrefixSearchRule.java | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'src/main/java/sevenUnitsGUI') diff --git a/src/main/java/sevenUnitsGUI/PrefixSearchRule.java b/src/main/java/sevenUnitsGUI/PrefixSearchRule.java index 87f14a8..a62ccda 100644 --- a/src/main/java/sevenUnitsGUI/PrefixSearchRule.java +++ b/src/main/java/sevenUnitsGUI/PrefixSearchRule.java @@ -99,18 +99,19 @@ public final class PrefixSearchRule implements /** * Determines which units are given prefixes. */ - private final Predicate allowUnit; + private final Predicate prefixableUnitRule; /** - * @param prefixes - * @param metricOnly + * @param prefixes prefixes to add to units + * @param prefixableUnitRule function that determines which units get + * prefixes * @since v0.4.0 * @since 2022-07-06 */ public PrefixSearchRule(Set prefixes, - Predicate allowUnit) { + Predicate prefixableUnitRule) { this.prefixes = Collections.unmodifiableSet(new HashSet<>(prefixes)); - this.allowUnit = allowUnit; + this.prefixableUnitRule = prefixableUnitRule; } @Override @@ -119,13 +120,13 @@ public final class PrefixSearchRule implements final String originalName = t.getKey(); final LinearUnit originalUnit = t.getValue(); outputUnits.put(originalName, originalUnit); - if (this.allowUnit.test(originalUnit)) { + if (this.prefixableUnitRule.test(originalUnit)) { for (final UnitPrefix prefix : this.prefixes) { outputUnits.put(prefix.getName() + originalName, originalUnit.withPrefix(prefix)); } } - return outputUnits; + return Collections.unmodifiableMap(outputUnits); } @Override @@ -135,10 +136,10 @@ public final class PrefixSearchRule implements if (!(obj instanceof PrefixSearchRule)) return false; final PrefixSearchRule other = (PrefixSearchRule) obj; - if (this.allowUnit == null) { - if (other.allowUnit != null) + if (this.prefixableUnitRule == null) { + if (other.prefixableUnitRule != null) return false; - } else if (!this.allowUnit.equals(other.allowUnit)) + } else if (!this.prefixableUnitRule.equals(other.prefixableUnitRule)) return false; if (this.prefixes == null) { if (other.prefixes != null) @@ -149,12 +150,12 @@ public final class PrefixSearchRule implements } /** - * @return the allowUnit + * @return rule that determines which units get prefixes * @since v0.4.0 - * @since 2022-07-06 + * @since 2022-07-09 */ - public Predicate getAllowUnit() { - return this.allowUnit; + public Predicate getPrefixableUnitRule() { + return this.prefixableUnitRule; } /** @@ -170,8 +171,8 @@ public final class PrefixSearchRule implements public int hashCode() { final int prime = 31; int result = 1; - result = prime * result - + (this.allowUnit == null ? 0 : this.allowUnit.hashCode()); + result = prime * result + (this.prefixableUnitRule == null ? 0 + : this.prefixableUnitRule.hashCode()); result = prime * result + (this.prefixes == null ? 0 : this.prefixes.hashCode()); return result; -- cgit v1.2.3