Class AbstractWrappedDateFormat

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable
    Direct Known Subclasses:
    EmptyDateFormat

    public abstract class AbstractWrappedDateFormat
    extends java.text.DateFormat
    Reduces the effort required to write custom DateFormat implementations that retain the ability to iterate through Dates with the arrow keys in formatted text fields (using an appropriate DateFormatter). This class wraps a given DateFormat and delegates most of its behavior to the delegate, except for the abstract methods format(Date, StringBuffer, FieldPosition) and parse(String, ParsePosition) that can be overridden by a subclass. For example the subclass EmptyDateFormat wraps a DateFormat but it parses the empty String and returns null where the predefined Java DateFormats throw an exception.

    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.text.DateFormat

        java.text.DateFormat.Field
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.text.DateFormat delegate
      Refers to the wrapped Format that is used to forward #format and #parseObject.
      • Fields inherited from class java.text.DateFormat

        AM_PM_FIELD, calendar, DATE_FIELD, DAY_OF_WEEK_FIELD, DAY_OF_WEEK_IN_MONTH_FIELD, DAY_OF_YEAR_FIELD, DEFAULT, ERA_FIELD, FULL, HOUR_OF_DAY0_FIELD, HOUR_OF_DAY1_FIELD, HOUR0_FIELD, HOUR1_FIELD, LONG, MEDIUM, MILLISECOND_FIELD, MINUTE_FIELD, MONTH_FIELD, numberFormat, SECOND_FIELD, SHORT, TIMEZONE_FIELD, WEEK_OF_MONTH_FIELD, WEEK_OF_YEAR_FIELD, YEAR_FIELD
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractWrappedDateFormat​(java.text.DateFormat delegate)
      Constructs an AbstractWrappedDateFormat that wraps the given mandatory format.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract java.lang.StringBuffer format​(java.util.Date date, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)  
      java.text.AttributedCharacterIterator formatToCharacterIterator​(java.lang.Object obj)  
      java.util.Calendar getCalendar()  
      java.text.NumberFormat getNumberFormat()  
      java.util.TimeZone getTimeZone()  
      boolean isLenient()  
      abstract java.util.Date parse​(java.lang.String source, java.text.ParsePosition pos)  
      void setCalendar​(java.util.Calendar newCalendar)  
      void setLenient​(boolean lenient)  
      void setNumberFormat​(java.text.NumberFormat newNumberFormat)  
      void setTimeZone​(java.util.TimeZone zone)  
      • Methods inherited from class java.text.DateFormat

        clone, equals, format, format, getAvailableLocales, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getTimeInstance, getTimeInstance, getTimeInstance, hashCode, parse, parseObject
      • Methods inherited from class java.text.Format

        format, parseObject
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • delegate

        protected final java.text.DateFormat delegate
        Refers to the wrapped Format that is used to forward #format and #parseObject.
    • Constructor Detail

      • AbstractWrappedDateFormat

        public AbstractWrappedDateFormat​(java.text.DateFormat delegate)
        Constructs an AbstractWrappedDateFormat that wraps the given mandatory format.
        Parameters:
        delegate - the format that handles the standard cases
        Throws:
        java.lang.NullPointerException - if delegate is null
    • Method Detail

      • format

        public abstract java.lang.StringBuffer format​(java.util.Date date,
                                                      java.lang.StringBuffer toAppendTo,
                                                      java.text.FieldPosition pos)
        Specified by:
        format in class java.text.DateFormat
      • parse

        public abstract java.util.Date parse​(java.lang.String source,
                                             java.text.ParsePosition pos)
        Specified by:
        parse in class java.text.DateFormat
      • getCalendar

        public java.util.Calendar getCalendar()
        Overrides:
        getCalendar in class java.text.DateFormat
      • setCalendar

        public void setCalendar​(java.util.Calendar newCalendar)
        Overrides:
        setCalendar in class java.text.DateFormat
      • getNumberFormat

        public java.text.NumberFormat getNumberFormat()
        Overrides:
        getNumberFormat in class java.text.DateFormat
      • setNumberFormat

        public void setNumberFormat​(java.text.NumberFormat newNumberFormat)
        Overrides:
        setNumberFormat in class java.text.DateFormat
      • getTimeZone

        public java.util.TimeZone getTimeZone()
        Overrides:
        getTimeZone in class java.text.DateFormat
      • setTimeZone

        public void setTimeZone​(java.util.TimeZone zone)
        Overrides:
        setTimeZone in class java.text.DateFormat
      • isLenient

        public boolean isLenient()
        Overrides:
        isLenient in class java.text.DateFormat
      • setLenient

        public void setLenient​(boolean lenient)
        Overrides:
        setLenient in class java.text.DateFormat
      • formatToCharacterIterator

        public java.text.AttributedCharacterIterator formatToCharacterIterator​(java.lang.Object obj)
        Overrides:
        formatToCharacterIterator in class java.text.Format