1 /* GENERATED SOURCE. DO NOT MODIFY. */ 2 // © 2017 and later: Unicode, Inc. and others. 3 // License & terms of use: http://www.unicode.org/copyright.html#License 4 package ohos.global.icu.impl.number.parse; 5 6 import ohos.global.icu.impl.StaticUnicodeSets; 7 import ohos.global.icu.impl.StringSegment; 8 import ohos.global.icu.text.DecimalFormatSymbols; 9 10 /** 11 * @author sffc 12 * @hide exposed on OHOS 13 * 14 */ 15 public class PercentMatcher extends SymbolMatcher { 16 17 private static final PercentMatcher DEFAULT = new PercentMatcher(); 18 getInstance(DecimalFormatSymbols symbols)19 public static PercentMatcher getInstance(DecimalFormatSymbols symbols) { 20 String symbolString = symbols.getPercentString(); 21 if (DEFAULT.uniSet.contains(symbolString)) { 22 return DEFAULT; 23 } else { 24 return new PercentMatcher(symbolString); 25 } 26 } 27 PercentMatcher(String symbolString)28 private PercentMatcher(String symbolString) { 29 super(symbolString, DEFAULT.uniSet); 30 } 31 PercentMatcher()32 private PercentMatcher() { 33 super(StaticUnicodeSets.Key.PERCENT_SIGN); 34 } 35 36 @Override isDisabled(ParsedNumber result)37 protected boolean isDisabled(ParsedNumber result) { 38 return 0 != (result.flags & ParsedNumber.FLAG_PERCENT); 39 } 40 41 @Override accept(StringSegment segment, ParsedNumber result)42 protected void accept(StringSegment segment, ParsedNumber result) { 43 result.flags |= ParsedNumber.FLAG_PERCENT; 44 result.setCharsConsumed(segment); 45 } 46 47 @Override toString()48 public String toString() { 49 return "<PercentMatcher>"; 50 } 51 } 52