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.StringSegment; 7 import ohos.global.icu.text.DecimalFormatSymbols; 8 import ohos.global.icu.text.UnicodeSet; 9 10 /** 11 * @author sffc 12 * @hide exposed on OHOS 13 * 14 */ 15 public class NanMatcher extends SymbolMatcher { 16 17 private static final NanMatcher DEFAULT = new NanMatcher("NaN"); 18 getInstance(DecimalFormatSymbols symbols, int parseFlags)19 public static NanMatcher getInstance(DecimalFormatSymbols symbols, int parseFlags) { 20 String symbolString = symbols.getNaN(); 21 if (DEFAULT.string.equals(symbolString)) { 22 return DEFAULT; 23 } else { 24 return new NanMatcher(symbolString); 25 } 26 } 27 NanMatcher(String symbolString)28 private NanMatcher(String symbolString) { 29 super(symbolString, UnicodeSet.EMPTY); 30 } 31 32 @Override isDisabled(ParsedNumber result)33 protected boolean isDisabled(ParsedNumber result) { 34 return result.seenNumber(); 35 } 36 37 @Override accept(StringSegment segment, ParsedNumber result)38 protected void accept(StringSegment segment, ParsedNumber result) { 39 result.flags |= ParsedNumber.FLAG_NAN; 40 result.setCharsConsumed(segment); 41 } 42 43 @Override toString()44 public String toString() { 45 return "<NanMatcher>"; 46 } 47 48 } 49