Class TimeFormatter
java.lang.Object
org.eclipse.nebula.widgets.formattedtext.AbstractFormatter
org.eclipse.nebula.widgets.formattedtext.DateTimeFormatter
org.eclipse.nebula.widgets.formattedtext.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".
-
Field Summary
Fields inherited from class org.eclipse.nebula.widgets.formattedtext.DateTimeFormatter
cachedPatterns, calendar, fieldCount, fields, flistener, inputCache, inputMask, klistener, locale, modifyFilter, sdfDisplay, yearStart
Fields inherited from class org.eclipse.nebula.widgets.formattedtext.AbstractFormatter
EMPTY, ignore, SPACE, text
-
Constructor Summary
Constructors Constructor Description 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 localeTimeFormatter(java.lang.String editPattern)
Constructs a new instance with the given edit mask.TimeFormatter(java.lang.String editPattern, java.lang.String displayPattern)
Constructs a new instance with the given edit and display masks.TimeFormatter(java.lang.String editPattern, java.lang.String displayPattern, java.util.Locale loc)
Constructs a new instance with the given masks and locale.TimeFormatter(java.lang.String editPattern, java.util.Locale loc)
Constructs a new instance with the given edit mask and locale.TimeFormatter(java.util.Locale loc)
Constructs a new instance with default edit and display masks for the given locale. -
Method Summary
Modifier and Type Method Description java.lang.String
getDefaultEditPattern(java.util.Locale loc)
Returns the default edit pattern for the givenLocale
.protected void
isValidCharPattern(char c)
Checks if a given char is valid for the edit pattern.Methods inherited from class org.eclipse.nebula.widgets.formattedtext.DateTimeFormatter
detach, getDisplayString, getEditString, getLocale, getValue, getValueType, isEmpty, isValid, setLocale, setText, setTimeZone, setValue, verifyText
Methods inherited from class org.eclipse.nebula.widgets.formattedtext.AbstractFormatter
beep, setIgnore, updateText, updateText
-
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 maskloc
- 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 maskdisplayPattern
- 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 maskdisplayPattern
- display maskloc
- locale
-
-
Method Details
-
getDefaultEditPattern
public java.lang.String getDefaultEditPattern(java.util.Locale loc)Returns the default edit pattern for the givenLocale
.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 thetoPattern
.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 classDateTimeFormatter
- 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 classDateTimeFormatter
- Parameters:
c
- pattern char- Throws:
java.lang.IllegalArgumentException
- if not valid- See Also:
DateTimeFormatter.isValidCharPattern(char)
-