< prev index next >

src/java.base/share/classes/java/text/MessageFormat.java

Print this page
rev 51919 : 8215281: Use String.isEmpty() when applicable in java.base
Reviewed-by: dfuchs, alanb


1313                     if (last != result.length()) {
1314                         characterIterators.add(
1315                             createAttributedCharacterIterator(result.substring
1316                                                               (last)));
1317                         last = result.length();
1318                     }
1319                     if (subFormatter != null) {
1320                         AttributedCharacterIterator subIterator =
1321                                    subFormatter.formatToCharacterIterator(obj);
1322 
1323                         append(result, subIterator);
1324                         if (last != result.length()) {
1325                             characterIterators.add(
1326                                          createAttributedCharacterIterator(
1327                                          subIterator, Field.ARGUMENT,
1328                                          Integer.valueOf(argumentNumber)));
1329                             last = result.length();
1330                         }
1331                         arg = null;
1332                     }
1333                     if (arg != null && arg.length() > 0) {
1334                         result.append(arg);
1335                         characterIterators.add(
1336                                  createAttributedCharacterIterator(
1337                                  arg, Field.ARGUMENT,
1338                                  Integer.valueOf(argumentNumber)));
1339                         last = result.length();
1340                     }
1341                 }
1342                 else {
1343                     if (subFormatter != null) {
1344                         arg = subFormatter.format(obj);
1345                     }
1346                     last = result.length();
1347                     result.append(arg);
1348                     if (i == 0 && fp != null && Field.ARGUMENT.equals(
1349                                   fp.getFieldAttribute())) {
1350                         fp.setBeginIndex(last);
1351                         fp.setEndIndex(result.length());
1352                     }
1353                     last = result.length();


1459         // resize format information arrays if necessary
1460         if (offsetNumber >= formats.length) {
1461             int newLength = formats.length * 2;
1462             Format[] newFormats = new Format[newLength];
1463             int[] newOffsets = new int[newLength];
1464             int[] newArgumentNumbers = new int[newLength];
1465             System.arraycopy(formats, 0, newFormats, 0, maxOffset + 1);
1466             System.arraycopy(offsets, 0, newOffsets, 0, maxOffset + 1);
1467             System.arraycopy(argumentNumbers, 0, newArgumentNumbers, 0, maxOffset + 1);
1468             formats = newFormats;
1469             offsets = newOffsets;
1470             argumentNumbers = newArgumentNumbers;
1471         }
1472         int oldMaxOffset = maxOffset;
1473         maxOffset = offsetNumber;
1474         offsets[offsetNumber] = segments[SEG_RAW].length();
1475         argumentNumbers[offsetNumber] = argumentNumber;
1476 
1477         // now get the format
1478         Format newFormat = null;
1479         if (segments[SEG_TYPE].length() != 0) {
1480             int type = findKeyword(segments[SEG_TYPE], TYPE_KEYWORDS);
1481             switch (type) {
1482             case TYPE_NULL:
1483                 // Type "" is allowed. e.g., "{0,}", "{0,,}", and "{0,,#}"
1484                 // are treated as "{0}".
1485                 break;
1486 
1487             case TYPE_NUMBER:
1488                 switch (findKeyword(segments[SEG_MODIFIER], NUMBER_MODIFIER_KEYWORDS)) {
1489                 case MODIFIER_DEFAULT:
1490                     newFormat = NumberFormat.getInstance(locale);
1491                     break;
1492                 case MODIFIER_CURRENCY:
1493                     newFormat = NumberFormat.getCurrencyInstance(locale);
1494                     break;
1495                 case MODIFIER_PERCENT:
1496                     newFormat = NumberFormat.getPercentInstance(locale);
1497                     break;
1498                 case MODIFIER_INTEGER:
1499                     newFormat = NumberFormat.getIntegerInstance(locale);




1313                     if (last != result.length()) {
1314                         characterIterators.add(
1315                             createAttributedCharacterIterator(result.substring
1316                                                               (last)));
1317                         last = result.length();
1318                     }
1319                     if (subFormatter != null) {
1320                         AttributedCharacterIterator subIterator =
1321                                    subFormatter.formatToCharacterIterator(obj);
1322 
1323                         append(result, subIterator);
1324                         if (last != result.length()) {
1325                             characterIterators.add(
1326                                          createAttributedCharacterIterator(
1327                                          subIterator, Field.ARGUMENT,
1328                                          Integer.valueOf(argumentNumber)));
1329                             last = result.length();
1330                         }
1331                         arg = null;
1332                     }
1333                     if (arg != null && !arg.isEmpty()) {
1334                         result.append(arg);
1335                         characterIterators.add(
1336                                  createAttributedCharacterIterator(
1337                                  arg, Field.ARGUMENT,
1338                                  Integer.valueOf(argumentNumber)));
1339                         last = result.length();
1340                     }
1341                 }
1342                 else {
1343                     if (subFormatter != null) {
1344                         arg = subFormatter.format(obj);
1345                     }
1346                     last = result.length();
1347                     result.append(arg);
1348                     if (i == 0 && fp != null && Field.ARGUMENT.equals(
1349                                   fp.getFieldAttribute())) {
1350                         fp.setBeginIndex(last);
1351                         fp.setEndIndex(result.length());
1352                     }
1353                     last = result.length();


1459         // resize format information arrays if necessary
1460         if (offsetNumber >= formats.length) {
1461             int newLength = formats.length * 2;
1462             Format[] newFormats = new Format[newLength];
1463             int[] newOffsets = new int[newLength];
1464             int[] newArgumentNumbers = new int[newLength];
1465             System.arraycopy(formats, 0, newFormats, 0, maxOffset + 1);
1466             System.arraycopy(offsets, 0, newOffsets, 0, maxOffset + 1);
1467             System.arraycopy(argumentNumbers, 0, newArgumentNumbers, 0, maxOffset + 1);
1468             formats = newFormats;
1469             offsets = newOffsets;
1470             argumentNumbers = newArgumentNumbers;
1471         }
1472         int oldMaxOffset = maxOffset;
1473         maxOffset = offsetNumber;
1474         offsets[offsetNumber] = segments[SEG_RAW].length();
1475         argumentNumbers[offsetNumber] = argumentNumber;
1476 
1477         // now get the format
1478         Format newFormat = null;
1479         if (!segments[SEG_TYPE].isEmpty()) {
1480             int type = findKeyword(segments[SEG_TYPE], TYPE_KEYWORDS);
1481             switch (type) {
1482             case TYPE_NULL:
1483                 // Type "" is allowed. e.g., "{0,}", "{0,,}", and "{0,,#}"
1484                 // are treated as "{0}".
1485                 break;
1486 
1487             case TYPE_NUMBER:
1488                 switch (findKeyword(segments[SEG_MODIFIER], NUMBER_MODIFIER_KEYWORDS)) {
1489                 case MODIFIER_DEFAULT:
1490                     newFormat = NumberFormat.getInstance(locale);
1491                     break;
1492                 case MODIFIER_CURRENCY:
1493                     newFormat = NumberFormat.getCurrencyInstance(locale);
1494                     break;
1495                 case MODIFIER_PERCENT:
1496                     newFormat = NumberFormat.getPercentInstance(locale);
1497                     break;
1498                 case MODIFIER_INTEGER:
1499                     newFormat = NumberFormat.getIntegerInstance(locale);


< prev index next >