For concurrent break iteration, each thread must use its own break iterator.
These can be obtained by creating separate break iterators of the desired type,
-or by initially creating a master break iterator and then creating a clone for
+or by initially creating a main break iterator and then creating a clone for
each thread.
### Line Breaking Strictness, a CSS Property
Most of the data items are pre-built into binary files that are then installed
on a user's machine. Some data can also be built at runtime but is not
-persistent. In the latter case, a master object should be built once and then
+persistent. In the latter case, a primary object should be built once and then
cloned to avoid the multiple parsing, processing, and building of the same data.
Binary data formats for ICU must be portable across platforms that share the
HHC_LOCATION =
# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
+# (YES) or that it should be included in the primary .chm file (NO).
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
* <p>The name will NOT be looked up in the alias mechanism, nor will the converter be
* stored in the converter cache or the alias table. The only way to open further converters
* is call this function multiple times, or use the ucnv_safeClone() function to clone a
- * 'master' converter.</p>
+ * 'primary' converter.</p>
*
* <p>A future version of ICU may add alias table lookups and/or caching
* to this function.</p>
}
keyToAdopt->fCreationStatus = creationStatus;
if (value->softRefCount == 0) {
- _registerMaster(keyToAdopt, value);
+ _registerPrimary(keyToAdopt, value);
}
void *oldValue = uhash_put(fHashtable, keyToAdopt, (void *) value, &status);
U_ASSERT(oldValue == nullptr);
} else {
_put(element, value, status);
}
- // Run an eviction slice. This will run even if we added a master entry
+ // Run an eviction slice. This will run even if we added a primary entry
// which doesn't increase the unused count, but that is still o.k
_runEvictionSlice();
}
}
}
-void UnifiedCache::_registerMaster(
+void UnifiedCache::_registerPrimary(
const CacheKeyBase *theKey, const SharedObject *value) const {
- theKey->fIsMaster = true;
+ theKey->fIsPrimary = true;
value->cachePtr = this;
++fNumValuesTotal;
++fNumValuesInUse;
const SharedObject *oldValue = (const SharedObject *) element->value.pointer;
theKey->fCreationStatus = status;
if (value->softRefCount == 0) {
- _registerMaster(theKey, value);
+ _registerPrimary(theKey, value);
}
value->softRefCount++;
UHashElement *ptr = const_cast<UHashElement *>(element);
return FALSE;
}
- // We can evict entries that are either not a master or have just
+ // We can evict entries that are either not a primary or have just
// one reference (The one reference being from the cache itself).
- return (!theKey->fIsMaster || (theValue->softRefCount == 1 && theValue->noHardReferences()));
+ return (!theKey->fIsPrimary || (theValue->softRefCount == 1 && theValue->noHardReferences()));
}
void UnifiedCache::removeSoftRef(const SharedObject *value) const {
*/
class U_COMMON_API CacheKeyBase : public UObject {
public:
- CacheKeyBase() : fCreationStatus(U_ZERO_ERROR), fIsMaster(FALSE) {}
+ CacheKeyBase() : fCreationStatus(U_ZERO_ERROR), fIsPrimary(FALSE) {}
/**
* Copy constructor. Needed to support cloning.
*/
CacheKeyBase(const CacheKeyBase &other)
- : UObject(other), fCreationStatus(other.fCreationStatus), fIsMaster(FALSE) { }
+ : UObject(other), fCreationStatus(other.fCreationStatus), fIsPrimary(FALSE) { }
virtual ~CacheKeyBase();
/**
}
private:
mutable UErrorCode fCreationStatus;
- mutable UBool fIsMaster;
+ mutable UBool fIsPrimary;
friend class UnifiedCache;
};
void _runEvictionSlice() const;
/**
- * Register a master cache entry. A master key is the first key to create
+ * Register a primary cache entry. A primary key is the first key to create
* a given SharedObject value. Subsequent keys whose create function
- * produce referneces to an already existing SharedObject are not masters -
+ * produce referneces to an already existing SharedObject are not primary -
* they can be evicted and subsequently recreated.
*
* On entry, gCacheMutex must be held.
- * On exit, items in use count incremented, entry is marked as a master
+ * On exit, items in use count incremented, entry is marked as a primary
* entry, and value registered with cache so that subsequent calls to
* addRef() and removeRef() on it correctly interact with the cache.
*/
- void _registerMaster(const CacheKeyBase *theKey, const SharedObject *value) const;
+ void _registerPrimary(const CacheKeyBase *theKey, const SharedObject *value) const;
/**
* Store a value and creation error status in given hash entry.
# Repeat steps 4-7 until there are no errors.
# 9. You can also run the make check tests in exhaustive mode (these will also
-# be run automatically on the master branch after the merge resulting from this
+# be run automatically on the default branch after the merge resulting from this
# integration):
cd $ICU4C_DIR/source
if (fDateFormat && fmt->fDateFormat && (*fDateFormat != *fmt->fDateFormat)) {return FALSE;}
}
// note: fFromCalendar and fToCalendar hold no persistent state, and therefore do not participate in operator ==.
- // fDateFormat has the master calendar for the DateIntervalFormat.
+ // fDateFormat has the primary calendar for the DateIntervalFormat.
if (fSkeleton != fmt->fSkeleton) {return FALSE;}
if (fDatePattern != fmt->fDatePattern && (fDatePattern == nullptr || fmt->fDatePattern == nullptr)) {return FALSE;}
if (fDatePattern && fmt->fDatePattern && (*fDatePattern != *fmt->fDatePattern)) {return FALSE;}
if (fDateFormat != nullptr) {
fDateFormat->adoptTimeZone(zone);
}
- // The fDateFormat has the master calendar for the DateIntervalFormat and has
+ // The fDateFormat has the primary calendar for the DateIntervalFormat and has
// ownership of any adopted TimeZone; fFromCalendar and fToCalendar are internal
// work clones of that calendar (and should not also be given ownership of the
// adopted TimeZone).
if (fDateFormat != nullptr) {
fDateFormat->setTimeZone(zone);
}
- // The fDateFormat has the master calendar for the DateIntervalFormat;
+ // The fDateFormat has the primary calendar for the DateIntervalFormat;
// fFromCalendar and fToCalendar are internal work clones of that calendar.
if (fFromCalendar) {
fFromCalendar->setTimeZone(zone);
/** 0.x */
PROPER_FRACTION_RULE_INDEX = 2,
/** x.0 */
- MASTER_RULE_INDEX = 3,
+ DEFAULT_RULE_INDEX = 3,
/** Inf */
INFINITY_RULE_INDEX = 4,
/** NaN */
else if (baseValue == NFRule::kProperFractionRule) {
setBestFractionRule(PROPER_FRACTION_RULE_INDEX, rule, TRUE);
}
- else if (baseValue == NFRule::kMasterRule) {
- setBestFractionRule(MASTER_RULE_INDEX, rule, TRUE);
+ else if (baseValue == NFRule::kDefaultRule) {
+ setBestFractionRule(DEFAULT_RULE_INDEX, rule, TRUE);
}
else if (baseValue == NFRule::kInfinityRule) {
delete nonNumericalRules[INFINITY_RULE_INDEX];
for (int i = 0; i < NON_NUMERICAL_RULE_LENGTH; i++) {
if (i != IMPROPER_FRACTION_RULE_INDEX
&& i != PROPER_FRACTION_RULE_INDEX
- && i != MASTER_RULE_INDEX)
+ && i != DEFAULT_RULE_INDEX)
{
delete nonNumericalRules[i];
}
rules[i]->setDecimalFormatSymbols(newSymbols, status);
}
// Switch the fraction rules to mirror the DecimalFormatSymbols.
- for (int32_t nonNumericalIdx = IMPROPER_FRACTION_RULE_INDEX; nonNumericalIdx <= MASTER_RULE_INDEX; nonNumericalIdx++) {
+ for (int32_t nonNumericalIdx = IMPROPER_FRACTION_RULE_INDEX; nonNumericalIdx <= DEFAULT_RULE_INDEX; nonNumericalIdx++) {
if (nonNumericalRules[nonNumericalIdx]) {
for (uint32_t fIdx = 0; fIdx < fractionRules.size(); fIdx++) {
NFRule *fractionRule = fractionRules[fIdx];
}
}
- // if there's a master rule, use it to format the number
- if (nonNumericalRules[MASTER_RULE_INDEX]) {
- return nonNumericalRules[MASTER_RULE_INDEX];
+ // if there's a default rule, use it to format the number
+ if (nonNumericalRules[DEFAULT_RULE_INDEX]) {
+ return nonNumericalRules[DEFAULT_RULE_INDEX];
}
// and if we haven't yet returned a rule, use findNormalRule()
// do them in findRule(), because the version of format() that
// takes a long bypasses findRule() and goes straight to this
// function. This function does skip the fraction rules since
- // we know the value is an integer (it also skips the master
+ // we know the value is an integer (it also skips the default
// rule, since it's considered a fraction rule. Skipping the
- // master rule in this function is also how we avoid infinite
+ // default rule in this function is also how we avoid infinite
// recursion)
// {dlf} unfortunately this fails if there are no rules except
- // special rules. If there are no rules, use the master rule.
+ // special rules. If there are no rules, use the default rule.
// binary-search the rule list for the applicable rule
// (a rule is used for all values from its base value to
}
return result;
}
- // else use the master rule
- return nonNumericalRules[MASTER_RULE_INDEX];
+ // else use the default rule
+ return nonNumericalRules[DEFAULT_RULE_INDEX];
}
/**
if (nonNumericalRules[i]) {
if (rule->getBaseValue() == NFRule::kImproperFractionRule
|| rule->getBaseValue() == NFRule::kProperFractionRule
- || rule->getBaseValue() == NFRule::kMasterRule)
+ || rule->getBaseValue() == NFRule::kDefaultRule)
{
for (uint32_t fIdx = 0; fIdx < fractionRules.size(); fIdx++) {
NFRule *fractionRule = fractionRules[fIdx];
if ((rule1->baseValue > 0
&& (rule1->baseValue % util64_pow(rule1->radix, rule1->exponent)) == 0)
|| rule1->getType() == kImproperFractionRule
- || rule1->getType() == kMasterRule) {
+ || rule1->getType() == kDefaultRule) {
// if it passes that test, new up the second rule. If the
// rule set both rules will belong to is a fraction rule
}
// if the description began with "x.0" and contains bracketed
- // text, it describes both the master rule and the
+ // text, it describes both the default rule and the
// improper fraction rule
- else if (rule1->getType() == kMasterRule) {
+ else if (rule1->getType() == kDefaultRule) {
rule2->baseValue = rule1->baseValue;
rule1->setType(kImproperFractionRule);
}
decimalPoint = descriptor.charAt(1);
}
else if (firstChar == gX && lastChar == gZero) {
- setBaseValue(kMasterRule, status);
+ setBaseValue(kDefaultRule, status);
decimalPoint = descriptor.charAt(1);
}
else if (descriptor.compare(gNaN, 3) == 0) {
case kNegativeNumberRule: result.append(gMinusX, 2); break;
case kImproperFractionRule: result.append(gX).append(decimalPoint == 0 ? gDot : decimalPoint).append(gX); break;
case kProperFractionRule: result.append(gZero).append(decimalPoint == 0 ? gDot : decimalPoint).append(gX); break;
- case kMasterRule: result.append(gX).append(decimalPoint == 0 ? gDot : decimalPoint).append(gZero); break;
+ case kDefaultRule: result.append(gX).append(decimalPoint == 0 ? gDot : decimalPoint).append(gZero); break;
case kInfinityRule: result.append(gInf, 3); break;
case kNaNRule: result.append(gNaN, 3); break;
default:
kNegativeNumberRule = -1,
kImproperFractionRule = -2,
kProperFractionRule = -3,
- kMasterRule = -4,
+ kDefaultRule = -4,
kInfinityRule = -5,
kNaNRule = -6,
kOtherRule = -7
// IntegralPartSubstitution
else if (rule->getBaseValue() == NFRule::kImproperFractionRule
|| rule->getBaseValue() == NFRule::kProperFractionRule
- || rule->getBaseValue() == NFRule::kMasterRule) {
+ || rule->getBaseValue() == NFRule::kDefaultRule) {
return new IntegralPartSubstitution(pos, ruleSet, description, status);
}
// FractionalPartSubstitution
else if (rule->getBaseValue() == NFRule::kImproperFractionRule
|| rule->getBaseValue() == NFRule::kProperFractionRule
- || rule->getBaseValue() == NFRule::kMasterRule) {
+ || rule->getBaseValue() == NFRule::kDefaultRule) {
return new FractionalPartSubstitution(pos, ruleSet, description, status);
}
return 0;
}
c = variableNext++;
- // Set a placeholder in the master variables vector that will be
+ // Set a placeholder in the primary variables vector that will be
// filled in later by setSegmentObject(). We know that we will get
// called first because setSegmentObject() will call us.
variablesVector.addElement((void*) NULL, status);
if ( aliasToRegion != NULL && aliasFromRegion == NULL ) { // This is just an alias from some string to a region
uhash_put(newRegionAliases.getAlias(),(void *)aliasFromStr.orphan(), (void *)aliasToRegion,&status);
} else {
- if ( aliasFromRegion == NULL ) { // Deprecated region code not in the master codes list - so need to create a deprecated region for it.
+ if ( aliasFromRegion == NULL ) { // Deprecated region code not in the primary codes list - so need to create a deprecated region for it.
LocalPointer<Region> newRgn(new Region, status);
if ( U_SUCCESS(status) ) {
aliasFromRegion = newRgn.orphan();
* </tr>
* <tr>
* <td>x.0:</td>
- * <td>The rule is a <em>master rule</em>. If the full stop in
+ * <td>The rule is a <em>default rule</em>. If the full stop in
* the middle of the rule name is replaced with the decimal point
* that is used in the language or DecimalFormatSymbols, then that rule will
* have precedence when formatting and parsing this rule. For example, some
* algorithms: If the rule set is a regular rule set, do the following:
*
* <ul>
- * <li>If the rule set includes a master rule (and the number was passed in as a <tt>double</tt>),
- * use the master rule. (If the number being formatted was passed in as a <tt>long</tt>,
- * the master rule is ignored.)</li>
+ * <li>If the rule set includes a default rule (and the number was passed in as a <tt>double</tt>),
+ * use the default rule. (If the number being formatted was passed in as a <tt>long</tt>,
+ * the default rule is ignored.)</li>
* <li>If the number is negative, use the negative-number rule.</li>
* <li>If the number has a fractional part and is greater than 1, use the improper fraction
* rule.</li>
* </tr>
* <tr>
* <td></td>
- * <td>in fraction or master rule</td>
+ * <td>in fraction or default rule</td>
* <td>Isolate the number's fractional part and format it.</td>
* </tr>
* <tr>
* </tr>
* <tr>
* <td></td>
- * <td>in fraction or master rule</td>
+ * <td>in fraction or default rule</td>
* <td>Isolate the number's integral part and format it.</td>
* </tr>
* <tr>
* </tr>
* <tr>
* <td></td>
- * <td>in master rule</td>
+ * <td>in default rule</td>
* <td>Omit the optional text if the number is an integer (same as specifying both an x.x
* rule and an x.0 rule)</td>
* </tr>
# [ICU4C] source/test/testdata/rbbitst.txt
# [ICU4J] main/tests/core/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt
#
-# ICU4C's copy is the master. If any changes are made to ICU4J's copy, make sure they
+# ICU4C's copy is the primary one. If any changes are made to ICU4J's copy, make sure they
# are merged back into ICU4C's copy of the file, lest they get overwritten later.
# TODO: figure out how to have a single copy of the file for use by both C and Java.
if (fDateFormat != null) {
fDateFormat.setTimeZone(zoneToSet);
}
- // fDateFormat has the master calendar for the DateIntervalFormat;
+ // fDateFormat has the primary calendar for the DateIntervalFormat;
// fFromCalendar and fToCalendar are internal work clones of that calendar.
if (fFromCalendar != null) {
fFromCalendar.setTimeZone(zoneToSet);
static final int PROPER_FRACTION_RULE = -3;
/**
- * Special base value used to identify a master rule
+ * Special base value used to identify a default rule
*/
- static final int MASTER_RULE = -4;
+ static final int DEFAULT_RULE = -4;
/**
* Special base value used to identify an infinity rule
if ((rule1.baseValue > 0
&& rule1.baseValue % (power(rule1.radix, rule1.exponent)) == 0)
|| rule1.baseValue == IMPROPER_FRACTION_RULE
- || rule1.baseValue == MASTER_RULE)
+ || rule1.baseValue == DEFAULT_RULE)
{
// if it passes that test, new up the second rule. If the
// the proper fraction rule
rule2.baseValue = PROPER_FRACTION_RULE;
}
- else if (rule1.baseValue == MASTER_RULE) {
+ else if (rule1.baseValue == DEFAULT_RULE) {
// if the description began with "x.0" and contains bracketed
- // text, it describes both the master rule and the
+ // text, it describes both the default rule and the
// improper fraction rule
rule2.baseValue = rule1.baseValue;
rule1.baseValue = IMPROPER_FRACTION_RULE;
decimalPoint = descriptor.charAt(1);
}
else if (firstChar == 'x' && lastChar == '0') {
- setBaseValue(MASTER_RULE);
+ setBaseValue(DEFAULT_RULE);
decimalPoint = descriptor.charAt(1);
}
else if (descriptor.equals("NaN")) {
else if (baseValue == PROPER_FRACTION_RULE) {
result.append('0').append(decimalPoint == 0 ? '.' : decimalPoint).append("x: ");
}
- else if (baseValue == MASTER_RULE) {
+ else if (baseValue == DEFAULT_RULE) {
result.append('x').append(decimalPoint == 0 ? '.' : decimalPoint).append("0: ");
}
else if (baseValue == INFINITY_RULE) {
/** 0.x */
static final int PROPER_FRACTION_RULE_INDEX = 2;
/** x.0 */
- static final int MASTER_RULE_INDEX = 3;
+ static final int DEFAULT_RULE_INDEX = 3;
/** Inf */
static final int INFINITY_RULE_INDEX = 4;
/** NaN */
else if (baseValue == NFRule.PROPER_FRACTION_RULE) {
setBestFractionRule(NFRuleSet.PROPER_FRACTION_RULE_INDEX, rule, true);
}
- else if (baseValue == NFRule.MASTER_RULE) {
- setBestFractionRule(NFRuleSet.MASTER_RULE_INDEX, rule, true);
+ else if (baseValue == NFRule.DEFAULT_RULE) {
+ setBestFractionRule(NFRuleSet.DEFAULT_RULE_INDEX, rule, true);
}
else if (baseValue == NFRule.INFINITY_RULE) {
nonNumericalRules[NFRuleSet.INFINITY_RULE_INDEX] = rule;
if (rule != null) {
if (rule.getBaseValue() == NFRule.IMPROPER_FRACTION_RULE
|| rule.getBaseValue() == NFRule.PROPER_FRACTION_RULE
- || rule.getBaseValue() == NFRule.MASTER_RULE)
+ || rule.getBaseValue() == NFRule.DEFAULT_RULE)
{
for (NFRule fractionRule : fractionRules) {
if (fractionRule.getBaseValue() == rule.getBaseValue()) {
}
}
- // if there's a master rule, use it to format the number
- if (nonNumericalRules[MASTER_RULE_INDEX] != null) {
- return nonNumericalRules[MASTER_RULE_INDEX];
+ // if there's a default rule, use it to format the number
+ if (nonNumericalRules[DEFAULT_RULE_INDEX] != null) {
+ return nonNumericalRules[DEFAULT_RULE_INDEX];
}
else {
// and if we haven't yet returned a rule, use findNormalRule()
// do them in findRule(), because the version of format() that
// takes a long bypasses findRule() and goes straight to this
// function. This function does skip the fraction rules since
- // we know the value is an integer (it also skips the master
+ // we know the value is an integer (it also skips the default
// rule, since it's considered a fraction rule. Skipping the
- // master rule in this function is also how we avoid infinite
+ // default rule in this function is also how we avoid infinite
// recursion)
// binary-search the rule list for the applicable rule
}
return result;
}
- // else use the master rule
- return nonNumericalRules[MASTER_RULE_INDEX];
+ // else use the default rule
+ return nonNumericalRules[DEFAULT_RULE_INDEX];
}
/**
}
// Switch the fraction rules to mirror the DecimalFormatSymbols.
if (fractionRules != null) {
- for (int nonNumericalIdx = IMPROPER_FRACTION_RULE_INDEX; nonNumericalIdx <= MASTER_RULE_INDEX; nonNumericalIdx++) {
+ for (int nonNumericalIdx = IMPROPER_FRACTION_RULE_INDEX; nonNumericalIdx <= DEFAULT_RULE_INDEX; nonNumericalIdx++) {
if (nonNumericalRules[nonNumericalIdx] != null) {
for (NFRule rule : fractionRules) {
if (nonNumericalRules[nonNumericalIdx].getBaseValue() == rule.getBaseValue()) {
}
else if (rule.getBaseValue() == NFRule.IMPROPER_FRACTION_RULE
|| rule.getBaseValue() == NFRule.PROPER_FRACTION_RULE
- || rule.getBaseValue() == NFRule.MASTER_RULE)
+ || rule.getBaseValue() == NFRule.DEFAULT_RULE)
{
// if the rule is a fraction rule, return an IntegralPartSubstitution
return new IntegralPartSubstitution(pos, ruleSet, description);
}
else if (rule.getBaseValue() == NFRule.IMPROPER_FRACTION_RULE
|| rule.getBaseValue() == NFRule.PROPER_FRACTION_RULE
- || rule.getBaseValue() == NFRule.MASTER_RULE)
+ || rule.getBaseValue() == NFRule.DEFAULT_RULE)
{
// if the rule is a fraction rule, return a
// FractionalPartSubstitution
* <tr>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">x.0:</td>
- * <td valign="top">The rule is a <em>master rule</em>. If the full stop in
+ * <td valign="top">The rule is a <em>default rule</em>. If the full stop in
* the middle of the rule name is replaced with the decimal point
* that is used in the language or DecimalFormatSymbols, then that rule will
* have precedence when formatting and parsing this rule. For example, some
* algorithms: If the rule set is a regular rule set, do the following:
*
* <ul>
- * <li>If the rule set includes a master rule (and the number was passed in as a <tt>double</tt>),
- * use the master rule. (If the number being formatted was passed in as a <tt>long</tt>,
- * the master rule is ignored.)</li>
+ * <li>If the rule set includes a default rule (and the number was passed in as a <tt>double</tt>),
+ * use the default rule. (If the number being formatted was passed in as a <tt>long</tt>,
+ * the default rule is ignored.)</li>
* <li>If the number is negative, use the negative-number rule.</li>
* <li>If the number has a fractional part and is greater than 1, use the improper fraction
* rule.</li>
* <tr>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
- * <td style="width: 165; vertical-align: top;">in fraction or master rule</td>
+ * <td style="width: 165; vertical-align: top;">in fraction or default rule</td>
* <td>Isolate the number's fractional part and format it.</td>
* </tr>
* <tr>
* <tr>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
- * <td style="width: 165; vertical-align: top;">in fraction or master rule</td>
+ * <td style="width: 165; vertical-align: top;">in fraction or default rule</td>
* <td>Isolate the number's integral part and format it.</td>
* </tr>
* <tr>
* <tr>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
- * <td style="width: 165; vertical-align: top;">in master rule</td>
+ * <td style="width: 165; vertical-align: top;">in default rule</td>
* <td>Omit the optional text if the number is an integer (same as specifying both an x.x
* rule and an x.0 rule)</td>
* </tr>
/**
* Formats the specified number according to the specified rule set.
- * (If the specified rule set specifies a master ["x.0"] rule, this function
+ * (If the specified rule set specifies a default ["x.0"] rule, this function
* ignores it. Convert the number to a double first if you ned it.) This
* function preserves all the precision in the long-- it doesn't convert it
* to a double.
/**
* Formats the specified number using the formatter's default rule set.
* (The default rule set is the last public rule set defined in the description.)
- * (If the specified rule set specifies a master ["x.0"] rule, this function
+ * (If the specified rule set specifies a default ["x.0"] rule, this function
* ignores it. Convert the number to a double first if you ned it.) This
* function preserves all the precision in the long-- it doesn't convert it
* to a double.
regions = new ArrayList<Region>(regionCodes.size());
- // First process the region codes and create the master array of regions.
+ // First process the region codes and create the primary array of regions.
for ( String id : regionCodes) {
Region r = new Region();
r.id = id;
Region r;
if ( regionIDMap.containsKey(aliasFrom) ) { // This is a deprecated region
r = regionIDMap.get(aliasFrom);
- } else { // Deprecated region code not in the master codes list - so need to create a deprecated region for it.
+ } else { // Deprecated region code not in the primary codes list - so need to create a deprecated region for it.
r = new Region();
r.id = aliasFrom;
regionIDMap.put(aliasFrom, r);
throw new RuntimeException("Variable range exhausted");
}
c = variableNext++;
- // Set a placeholder in the master variables vector that will be
+ // Set a placeholder in the primary variables vector that will be
// filled in later by setSegmentObject(). We know that we will get
// called first because setSegmentObject() will call us.
variablesVector.add(null);
print C_INDEX <<END;
//--------------------------------------------------------------------
// N.B.: This file has been generated mechanically from the
-// corresponding ICU4J file, which is the master file that receives
+// corresponding ICU4J file, which is the primary file that receives
// primary updates. The colon-delimited fields have been split into
// separate strings. For 'file' and 'internal' lines, the encoding
// field has been deleted, since the encoding is processed at build