Class FormattedValueStringBuilderImpl

java.lang.Object
com.ibm.icu.impl.FormattedValueStringBuilderImpl

public class FormattedValueStringBuilderImpl extends Object
Implementation of FormattedValue based on FormattedStringBuilder. The implementation currently revolves around numbers and number fields. However, it can be generalized in the future when there is a need. In C++, this implements FormattedValue. In Java, it is a stateless collection of static functions to avoid having to use nested objects.
  • Constructor Details

    • FormattedValueStringBuilderImpl

      public FormattedValueStringBuilderImpl()
  • Method Details

    • findSpan

      public static int findSpan(FormattedStringBuilder self, Object value)
      Finds the index at which a span field begins.
      Parameters:
      value - The value of the span field to search for.
      Returns:
      The index, or -1 if not found.
    • applySpanRange

      public static void applySpanRange(FormattedStringBuilder self, UFormat.SpanField spanField, Object value, int start, int end)
      Upgrade a range of a string to a span field. Similar to appendSpanInfo in ICU4C.
    • nextFieldPosition

      public static boolean nextFieldPosition(FormattedStringBuilder self, FieldPosition fp)
    • toCharacterIterator

      public static AttributedCharacterIterator toCharacterIterator(FormattedStringBuilder self, Format.Field numericField)
    • nextPosition

      public static boolean nextPosition(FormattedStringBuilder self, ConstrainedFieldPosition cfpos, Format.Field numericField)
      Implementation of nextPosition consistent with the contract of FormattedValue.
      Parameters:
      cfpos - The argument passed to the public API.
      numericField - Optional. If non-null, apply this field to the entire numeric portion of the string.
      Returns:
      See FormattedValue#nextPosition.
    • isIntOrGroup

      private static boolean isIntOrGroup(Object field)
    • isNumericField

      private static boolean isNumericField(Object field)
    • isTrimmable

      private static boolean isTrimmable(Object field)
    • trimBack

      private static int trimBack(FormattedStringBuilder self, int limit)
    • trimFront

      private static int trimFront(FormattedStringBuilder self, int start)