1aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin/* GENERATED SOURCE. DO NOT MODIFY. */ 2f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// © 2016 and later: Unicode, Inc. and others. 3f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 4aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin/* 5aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin ******************************************************************************* 6aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Copyright (C) 2015, International Business Machines Corporation and * 7aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * others. All Rights Reserved. * 8aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin ******************************************************************************* 9aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 10aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinpackage android.icu.dev.test.format; 11aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 12aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.lang.reflect.Field; 13aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.lang.reflect.InvocationTargetException; 14aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.lang.reflect.Method; 15aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.util.HashMap; 16aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.util.HashSet; 17aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.util.Map; 18aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 19aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.math.BigDecimal; 20aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.text.DecimalFormat; 21aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.text.NumberFormat; 22aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.util.Currency; 23aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.util.ULocale; 24aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 25aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin/** 26aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * A representation of a single NumberFormat specification test from a data driven test file. 27aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <p> 28aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The purpose of this class is to hide the details of the data driven test file from the 29aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * main testing code. 30aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <p> 31aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * This class contains fields describing an attribute of the test that may or may 32aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * not be set. The name of each attribute corresponds to the name used in the 33aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * data driven test file. 34aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <p> 35aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <b>Adding new attributes</b> 36aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <p> 37aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Each attribute name is lower case. Moreover, for each attribute there is also a 38aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * setXXX method for that attribute that is used to initialize the attribute from a 39aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * String value read from the data file. For example, there is a setLocale(String) method 40aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * for the locale attribute and a setCurrency(String) method for the currency attribute. 41aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * In general, for an attribute named abcd, the setter will be setAbcd(String). 42aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * This naming rule must be strictly followed or else the test runner will not know how to 43aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * initialize instances of this class. 44aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <p> 45aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * In addition each attribute is listed in the fieldOrdering static array which specifies 46aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The order that attributes are printed whenever there is a test failure. 47aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * <p> 48aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * To add a new attribute, first create a public field for it. 49aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Next, add the attribute name to the fieldOrdering array. 50aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Finally, create a setter method for it. 51aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * 52aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * @author rocketman 53aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 54f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertpublic class NumberFormatTestData { 55aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 56aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 57aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The locale. 58aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 59aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public ULocale locale = null; 60aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 61aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 62aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The currency. 63aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 64aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Currency currency = null; 65aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 66aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 67aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The pattern to initialize the formatter, for example 0.00" 68aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 69aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String pattern = null; 70aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 71aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 72aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The value to format as a string. For example 1234.5 would be "1234.5" 73aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 74aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String format = null; 75aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 76aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 77aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * The formatted value. 78aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 79aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String output = null; 80aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 81aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 82aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Field for arbitrary comments. 83aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 84aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String comment = null; 85aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 86aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer minIntegerDigits = null; 87aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer maxIntegerDigits = null; 88aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer minFractionDigits = null; 89aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer maxFractionDigits = null; 90aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer minGroupingDigits = null; 91aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer useSigDigits = null; 92aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer minSigDigits = null; 93aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer maxSigDigits = null; 94aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer useGrouping = null; 95aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer multiplier = null; 96aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Double roundingIncrement = null; 97aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer formatWidth = null; 98aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String padCharacter = null; 99aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer useScientific = null; 100aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer grouping = null; 101aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer grouping2 = null; 102aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer roundingMode = null; 103aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Currency.CurrencyUsage currencyUsage = null; 104aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer minimumExponentDigits = null; 105aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer exponentSignAlwaysShown = null; 106aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer decimalSeparatorAlwaysShown = null; 107aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer padPosition = null; 108aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String positivePrefix = null; 109aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String positiveSuffix = null; 110aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String negativePrefix = null; 111aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String negativeSuffix = null; 112aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String localizedPattern = null; 113aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String toPattern = null; 114aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String toLocalizedPattern = null; 115aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer style = null; 116aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String parse = null; 117aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer lenient = null; 118aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String plural = null; 119aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer parseIntegerOnly = null; 120aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer decimalPatternMatchRequired = null; 121aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public Integer parseNoExponent = null; 122aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String outputCurrency = null; 123aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 124aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 125aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 126aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin /** 127aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * nothing or empty means that test ought to work for both C and JAVA; 128aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * "C" means test is known to fail in C. "J" means test is known to fail in JAVA. 129aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * "CJ" means test is known to fail for both languages. 130aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */ 131aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String breaks = null; 132aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 133aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static Map<String, Integer> roundingModeMap = 134aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin new HashMap<String, Integer>(); 135aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 136aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin static { 137aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("ceiling", BigDecimal.ROUND_CEILING); 138aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("floor", BigDecimal.ROUND_FLOOR); 139aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("down", BigDecimal.ROUND_DOWN); 140aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("up", BigDecimal.ROUND_UP); 141aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("halfEven", BigDecimal.ROUND_HALF_EVEN); 142aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("halfDown", BigDecimal.ROUND_HALF_DOWN); 143aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("halfUp", BigDecimal.ROUND_HALF_UP); 144aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingModeMap.put("unnecessary", BigDecimal.ROUND_UNNECESSARY); 145aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 146aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 147aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static Map<String, Currency.CurrencyUsage> currencyUsageMap = 148aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin new HashMap<String, Currency.CurrencyUsage>(); 149aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 150aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin static { 151aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin currencyUsageMap.put("standard", Currency.CurrencyUsage.STANDARD); 152aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin currencyUsageMap.put("cash", Currency.CurrencyUsage.CASH); 153aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 154aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 155aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static Map<String, Integer> padPositionMap = 156aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin new HashMap<String, Integer>(); 157aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 158aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin static { 159aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // TODO: Fix so that it doesn't depend on DecimalFormat. 160aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin padPositionMap.put("beforePrefix", DecimalFormat.PAD_BEFORE_PREFIX); 161aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin padPositionMap.put("afterPrefix", DecimalFormat.PAD_AFTER_PREFIX); 162aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin padPositionMap.put("beforeSuffix", DecimalFormat.PAD_BEFORE_SUFFIX); 163aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin padPositionMap.put("afterSuffix", DecimalFormat.PAD_AFTER_SUFFIX); 164aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 165aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 166aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static Map<String, Integer> formatStyleMap = 167aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin new HashMap<String, Integer>(); 168aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 169aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin static { 170aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("decimal", NumberFormat.NUMBERSTYLE); 171aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("currency", NumberFormat.CURRENCYSTYLE); 172aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("percent", NumberFormat.PERCENTSTYLE); 173aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("scientific", NumberFormat.SCIENTIFICSTYLE); 174aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("currencyIso", NumberFormat.ISOCURRENCYSTYLE); 175aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("currencyPlural", NumberFormat.PLURALCURRENCYSTYLE); 176aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("currencyAccounting", NumberFormat.ACCOUNTINGCURRENCYSTYLE); 177aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatStyleMap.put("cashCurrency", NumberFormat.CASHCURRENCYSTYLE); 178aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 179aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 180aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // Add any new fields here. On test failures, fields are printed in the same order they 181aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // appear here. 182aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static String[] fieldOrdering = { 183aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "locale", 184aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "currency", 185aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "pattern", 186aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "format", 187aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "output", 188aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "comment", 189aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "minIntegerDigits", 190aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "maxIntegerDigits", 191aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "minFractionDigits", 192aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "maxFractionDigits", 193aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "minGroupingDigits", 194aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "breaks", 195aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "useSigDigits", 196aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "minSigDigits", 197aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "maxSigDigits", 198aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "useGrouping", 199aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "multiplier", 200aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "roundingIncrement", 201aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "formatWidth", 202aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "padCharacter", 203aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "useScientific", 204aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "grouping", 205aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "grouping2", 206aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "roundingMode", 207aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "currencyUsage", 208aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "minimumExponentDigits", 209aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "exponentSignAlwaysShown", 210aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "decimalSeparatorAlwaysShown", 211aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "padPosition", 212aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "positivePrefix", 213aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "positiveSuffix", 214aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "negativePrefix", 215aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "negativeSuffix", 216aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "localizedPattern", 217aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "toPattern", 218aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "toLocalizedPattern", 219aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "style", 220aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "parse", 221aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "lenient", 222aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "plural", 223aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "parseIntegerOnly", 224aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "decimalPatternMatchRequired", 225aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "parseNoExponent", 226aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin "outputCurrency" 227aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin }; 228aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 229aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin static { 230aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin HashSet<String> set = new HashSet<String>(); 231aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin for (String s : fieldOrdering) { 232aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin if (!set.add(s)) { 233aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new ExceptionInInitializerError(s + "is a duplicate field."); 234aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 235aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 236aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 237aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 238aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static <T> T fromString(Map<String, T> map, String key) { 239aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin T value = map.get(key); 240aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin if (value == null) { 241aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new IllegalArgumentException("Bad value: "+ key); 242aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 243aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin return value; 244aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 245aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 246aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // start field setters. 247aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // add setter for each new field in this block. 248aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 249aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setLocale(String value) { 250aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin locale = new ULocale(value); 251aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 252aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 253aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setCurrency(String value) { 254aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin currency = Currency.getInstance(value); 255aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 256aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 257aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setPattern(String value) { 258aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin pattern = value; 259aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 260aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 261aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setFormat(String value) { 262aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin format = value; 263aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 264aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 265aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setOutput(String value) { 266aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin output = value; 267aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 268aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 269aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setComment(String value) { 270aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin comment = value; 271aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 272aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 273aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMinIntegerDigits(String value) { 274aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin minIntegerDigits = Integer.valueOf(value); 275aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 276aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 277aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMaxIntegerDigits(String value) { 278aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin maxIntegerDigits = Integer.valueOf(value); 279aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 280aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 281aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMinFractionDigits(String value) { 282aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin minFractionDigits = Integer.valueOf(value); 283aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 284aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 285aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMaxFractionDigits(String value) { 286aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin maxFractionDigits = Integer.valueOf(value); 287aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 288aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 289aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMinGroupingDigits(String value) { 290aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin minGroupingDigits = Integer.valueOf(value); 291aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 292aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 293aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setBreaks(String value) { 294aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin breaks = value; 295aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 296aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 297aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setUseSigDigits(String value) { 298aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin useSigDigits = Integer.valueOf(value); 299aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 300aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 301aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMinSigDigits(String value) { 302aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin minSigDigits = Integer.valueOf(value); 303aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 304aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 305aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMaxSigDigits(String value) { 306aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin maxSigDigits = Integer.valueOf(value); 307aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 308aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 309aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setUseGrouping(String value) { 310aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin useGrouping = Integer.valueOf(value); 311aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 312aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 313aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMultiplier(String value) { 314aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin multiplier = Integer.valueOf(value); 315aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 316aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 317aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setRoundingIncrement(String value) { 318aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingIncrement = Double.valueOf(value); 319aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 320aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 321aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setFormatWidth(String value) { 322aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin formatWidth = Integer.valueOf(value); 323aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 324aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 325aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setPadCharacter(String value) { 326aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin padCharacter = value; 327aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 328aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 329aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setUseScientific(String value) { 330aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin useScientific = Integer.valueOf(value); 331aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 332aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 333aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setGrouping(String value) { 334aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin grouping = Integer.valueOf(value); 335aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 336aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 337aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setGrouping2(String value) { 338aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin grouping2 = Integer.valueOf(value); 339aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 340aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 341aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setRoundingMode(String value) { 342aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin roundingMode = fromString(roundingModeMap, value); 343aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 344aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 345aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setCurrencyUsage(String value) { 346aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin currencyUsage = fromString(currencyUsageMap, value); 347aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 348aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 349aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setMinimumExponentDigits(String value) { 350aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin minimumExponentDigits = Integer.valueOf(value); 351aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 352aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 353aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setExponentSignAlwaysShown(String value) { 354aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin exponentSignAlwaysShown = Integer.valueOf(value); 355aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 356aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 357aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setDecimalSeparatorAlwaysShown(String value) { 358aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin decimalSeparatorAlwaysShown = Integer.valueOf(value); 359aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 360aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 361aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setPadPosition(String value) { 362aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin padPosition = fromString(padPositionMap, value); 363aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 364aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 365aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setPositivePrefix(String value) { 366aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin positivePrefix = value; 367aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 368aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 369aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setPositiveSuffix(String value) { 370aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin positiveSuffix = value; 371aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 372aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 373aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setNegativePrefix(String value) { 374aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin negativePrefix = value; 375aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 376aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 377aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setNegativeSuffix(String value) { 378aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin negativeSuffix = value; 379aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 380aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 381aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setLocalizedPattern(String value) { 382aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin localizedPattern = value; 383aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 384aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 385aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setToPattern(String value) { 386aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin toPattern = value; 387aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 388aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 389aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setToLocalizedPattern(String value) { 390aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin toLocalizedPattern = value; 391aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 392aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 393aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setStyle(String value) { 394aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin style = fromString(formatStyleMap, value); 395aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 396aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 397aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setParse(String value) { 398aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin parse = value; 399aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 400aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 401aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setLenient(String value) { 402aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin lenient = Integer.valueOf(value); 403aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 404aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 405aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setPlural(String value) { 406aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin plural = value; 407aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 408aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 409aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setParseIntegerOnly(String value) { 410aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin parseIntegerOnly = Integer.valueOf(value); 411aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 412aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 413aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setDecimalPatternMatchRequired(String value) { 414aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin decimalPatternMatchRequired = Integer.valueOf(value); 415aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 416aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 417aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setParseNoExponent(String value) { 418aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin parseNoExponent = Integer.valueOf(value); 419aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 420aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 421aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setOutputCurrency(String value) { 422aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin outputCurrency = value; 423aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 424aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 425aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // end field setters. 426aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 427aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // start of field clearers 428aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // Add clear methods that can be set in one test and cleared 429aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // in the next i.e the breaks field. 430aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 431aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearBreaks() { 432aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin breaks = null; 433aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 434aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 435aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearUseGrouping() { 436aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin useGrouping = null; 437aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 438aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 439aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearGrouping2() { 440aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin grouping2 = null; 441aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 442aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 443aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearGrouping() { 444aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin grouping = null; 445aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 446aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 447aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearMinGroupingDigits() { 448aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin minGroupingDigits = null; 449aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 450aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 451aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearUseScientific() { 452aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin useScientific = null; 453aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 454aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 455aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearDecimalSeparatorAlwaysShown() { 456aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin decimalSeparatorAlwaysShown = null; 457aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 458aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 459aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin // end field clearers 460aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 461aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void setField(String fieldName, String valueString) 462aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throws NoSuchMethodException { 463aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin Method m = getClass().getMethod( 464aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin fieldToSetter(fieldName), String.class); 465aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin try { 466aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin m.invoke(this, valueString); 467aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (IllegalAccessException e) { 468aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 469aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (InvocationTargetException e) { 470aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 471aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 472aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 473aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 474aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public void clearField(String fieldName) 475aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throws NoSuchMethodException { 476aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin Method m = getClass().getMethod(fieldToClearer(fieldName)); 477aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin try { 478aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin m.invoke(this); 479aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (IllegalAccessException e) { 480aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 481aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (InvocationTargetException e) { 482aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 483aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 484aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 485aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 486aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin public String toString() { 487aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin StringBuilder result = new StringBuilder(); 488aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin result.append("{"); 489aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin boolean first = true; 490aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin for (String fieldName : fieldOrdering) { 491aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin try { 492aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin Field field = getClass().getField(fieldName); 493aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin Object optionalValue = field.get(this); 494aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin if (optionalValue == null) { 495aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin continue; 496aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 497aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin if (!first) { 498aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin result.append(", "); 499aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 500aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin first = false; 501aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin result.append(fieldName); 502aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin result.append(": "); 503aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin result.append(optionalValue); 504aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (NoSuchFieldException e) { 505aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 506aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (SecurityException e) { 507aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 508aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } catch (IllegalAccessException e) { 509aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin throw new RuntimeException(e); 510aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 511aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 512aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin result.append("}"); 513aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin return result.toString(); 514aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 515aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 516aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static String fieldToSetter(String fieldName) { 517aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin return "set" 518aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin + Character.toUpperCase(fieldName.charAt(0)) 519aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin + fieldName.substring(1); 520aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 521aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 522aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin private static String fieldToClearer(String fieldName) { 523aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin return "clear" 524aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin + Character.toUpperCase(fieldName.charAt(0)) 525aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin + fieldName.substring(1); 526aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin } 527aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin 528aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin} 529