MCPcopy Create free account
hub / github.com/MenoData/Time4J / print

Method print

base/src/main/java/net/time4j/MachineTime.java:1555–1606  ·  view source on GitHub ↗
(
            TimeSpan<? super TimeUnit> duration,
            Appendable buffer
        )

Source from the content-addressed store, hash-verified

1553 * @throws IOException if writing into buffer fails
1554 */
1555 @Override
1556 public void print(
1557 TimeSpan<? super TimeUnit> duration,
1558 Appendable buffer
1559 ) throws IOException {
1560
1561 String p = this.getPattern();
1562 int n = p.length();
1563 StringBuilder sb = new StringBuilder(n);
1564
1565 for (int i = 0; i < n; i++) {
1566 char c = p.charAt(i);
1567
1568 if (c == '\'') {
1569 i++;
1570 while (i < n) {
1571 if (p.charAt(i) == '\'') {
1572 if ((i + 1 < n) && (p.charAt(i + 1) == '\'')) {
1573 i++;
1574 } else {
1575 break;
1576 }
1577 }
1578 i++;
1579 }
1580 } else {
1581 sb.append(c);
1582 }
1583 }
1584
1585 String pattern = sb.toString(); // literals are now stripped off
1586 Set<TimeUnit> patternUnits = EnumSet.noneOf(TimeUnit.class);
1587
1588 if (pattern.contains("D")) {
1589 patternUnits.add(TimeUnit.DAYS);
1590 }
1591 if (pattern.contains("h")) {
1592 patternUnits.add(TimeUnit.HOURS);
1593 }
1594 if (pattern.contains("m")) {
1595 patternUnits.add(TimeUnit.MINUTES);
1596 }
1597 if (pattern.contains("s")) {
1598 patternUnits.add(TimeUnit.SECONDS);
1599 }
1600 if (pattern.contains("f")) {
1601 patternUnits.add(TimeUnit.NANOSECONDS);
1602 }
1603
1604 super.print(new Normalized(duration, patternUnits), buffer);
1605
1606 }
1607
1608 @Override
1609 protected MachineTime<TimeUnit> convert(Map<TimeUnit, Long> map, boolean negative) {

Callers

nothing calls this directly

Calls 6

toStringMethod · 0.65
containsMethod · 0.65
printMethod · 0.65
getPatternMethod · 0.45
lengthMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected