Class TimeFormatter

All Implemented Interfaces:
java.util.EventListener, ITextFormatter, org.eclipse.swt.events.VerifyListener, org.eclipse.swt.internal.SWTEventListener

public class TimeFormatter
extends DateTimeFormatter
This class provides formatting of Date values in a FormattedText, restricting the edit and display to the time part. Supports a subset of time patterns defined in SimpleDateFormat for input.

See DateTimeFormatter for a full description of patterns, given that only patterns chars related to time are allowed.

Examples

  • new TimeFormatter("HH:mm") - 15:45:11 will edit and display as "15:45".
  • new TimeFormatter("hh:mm a, "h:m a") - 05:05 AM will edit as "05:05 AM" and display as "5:5 AM".
  • Constructor Details

    • TimeFormatter

      public TimeFormatter()
      Constructs a new instance with all defaults :
      • edit mask in SHORT time format for the default locale
      • display mask identical to the edit mask
      • default locale
    • TimeFormatter

      public TimeFormatter​(java.util.Locale loc)
      Constructs a new instance with default edit and display masks for the given locale.
      Parameters:
      loc - locale
    • TimeFormatter

      public TimeFormatter​(java.lang.String editPattern)
      Constructs a new instance with the given edit mask. Display mask is identical to the edit mask, and locale is the default one.
      Parameters:
      editPattern - edit mask
    • TimeFormatter

      public TimeFormatter​(java.lang.String editPattern, java.util.Locale loc)
      Constructs a new instance with the given edit mask and locale. Display mask is identical to the edit mask.
      Parameters:
      editPattern - edit mask
      loc - locale
    • TimeFormatter

      public TimeFormatter​(java.lang.String editPattern, java.lang.String displayPattern)
      Constructs a new instance with the given edit and display masks. Uses the default locale.
      Parameters:
      editPattern - edit mask
      displayPattern - display mask
    • TimeFormatter

      public TimeFormatter​(java.lang.String editPattern, java.lang.String displayPattern, java.util.Locale loc)
      Constructs a new instance with the given masks and locale.
      Parameters:
      editPattern - edit mask
      displayPattern - display mask
      loc - locale
  • Method Details

    • getDefaultEditPattern

      public java.lang.String getDefaultEditPattern​(java.util.Locale loc)
      Returns the default edit pattern for the given Locale.

      A DateFormat object is instantiated with SHORT format for both the time part for the given locale. The corresponding pattern string is then retrieved by calling the toPattern.

      Default patterns are stored in a cache with ISO3 language and country codes as key. So they are computed only once by locale.

      Overrides:
      getDefaultEditPattern in class DateTimeFormatter
      Parameters:
      loc - locale
      Returns:
      edit pattern for the locale
    • isValidCharPattern

      protected void isValidCharPattern​(char c)
      Checks if a given char is valid for the edit pattern. This method overrides the parent method, restricting authorized chars to time patterns.
      Overrides:
      isValidCharPattern in class DateTimeFormatter
      Parameters:
      c - pattern char
      Throws:
      java.lang.IllegalArgumentException - if not valid
      See Also:
      DateTimeFormatter.isValidCharPattern(char)