summaryrefslogtreecommitdiff
path: root/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/FlagHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/FlagHandler.java')
-rw-r--r--icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/FlagHandler.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/FlagHandler.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/FlagHandler.java
new file mode 100644
index 000000000..37d39113a
--- /dev/null
+++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/FlagHandler.java
@@ -0,0 +1,28 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+package com.ibm.icu.impl.number.parse;
+
+/**
+ * Unconditionally applies a given set of flags to the ParsedNumber in the post-processing step.
+ */
+public class FlagHandler extends ValidationMatcher {
+
+ public static final FlagHandler PERCENT = new FlagHandler(ParsedNumber.FLAG_PERCENT);
+ public static final FlagHandler PERMILLE = new FlagHandler(ParsedNumber.FLAG_PERMILLE);
+
+ private final int flags;
+
+ private FlagHandler(int flags) {
+ this.flags = flags;
+ }
+
+ @Override
+ public void postProcess(ParsedNumber result) {
+ result.flags |= flags;
+ }
+
+ @Override
+ public String toString() {
+ return "<FlagsHandler " + Integer.toHexString(flags) + ">";
+ }
+}