Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.calendar
Class AbstractDateSelectionModel

    java.lang.Object
      org.jdesktop.swingx.calendar.AbstractDateSelectionModel

All Implemented Interfaces:
  DateSelectionModel

Direct Known Subclasses:
  DaySelectionModel, DefaultDateSelectionModel, SingleDaySelectionModel

    public abstract class AbstractDateSelectionModel

extends java.lang.Object
implements DateSelectionModel

Abstract base implementation of DateSelectionModel. Implements notification, Calendar related properties and lower/upper bounds.

Author:
  Jeanette Winzenburg

Nested Class Summary

Nested classes/interfaces inherited from interface org.jdesktop.swingx.calendar.DateSelectionModel
`DateSelectionModel.SelectionMode`

Field Summary
`protected boolean` | `adjusting`
`protected java.util.Calendar` | `calendar`
`static java.util.SortedSet<java.util.Date>` | `EMPTY_DATES`
`protected EventListenerMap` | `listenerMap`
`protected java.util.Locale` | `locale` the locale used by the calendar.
`protected java.util.Date` | `lowerBound`
`protected java.util.Date` | `upperBound`

Constructor Summary
`AbstractDateSelectionModel()` Instantiates a DateSelectionModel with default locale.
`AbstractDateSelectionModel(java.util.Locale locale)` Instantiates a DateSelectionModel with the given locale.

Method Summary
`void` | `addDateSelectionListener(DateSelectionListener l)` Add the specified listener to this model.
`protected void` | `adjustDatesToTimeZone(java.util.TimeZone oldTimeZone)` Adjusts all stored dates to a new time zone.
`protected java.util.Date` | `endOfDay(java.util.Date date)` Returns the end of the day of the given date in this model's calendar.
`protected void` | `fireValueChanged(DateSelectionEvent.EventType eventType)`
`java.util.Calendar` | `getCalendar()` Returns a clone of the calendar used by this model.
`java.util.List<DateSelectionListener>` | `getDateSelectionListeners()`
`int` | `getFirstDayOfWeek()` Gets what the first day of the week is; e.g., `Calendar.SUNDAY` in the U.S., `Calendar.MONDAY` in France.
`java.util.Locale` | `getLocale()` Returns the Locale of this model's calendar.
`java.util.Date` | `getLowerBound()` Return the lower bound date that is allowed to be selected for this model.
`int` | `getMinimalDaysInFirstWeek()` Gets the minimal number of days in the first week of the year.
`java.util.TimeZone` | `getTimeZone()` Returns the TimeZone of this model.
`java.util.Date` | `getUpperBound()` Return the upper bound date that is allowed to be selected for this model.
`boolean` | `isAdjusting()` Returns the property to decide whether the selection is intermediate or final.
`protected boolean` | `isSameDay(java.util.Date selected, java.util.Date compare)` Returns a boolean indicating whether the given dates are on the same day in the coordinates of the model's calendar.
`void` | `removeDateSelectionListener(DateSelectionListener l)` Remove the specified listener to this model.
`void` | `setAdjusting(boolean adjusting)` Set the property to mark upcoming selections as intermediate/ final.
`void` | `setFirstDayOfWeek(int firstDayOfWeek)` Sets what the first day of the week is.
`void` | `setLocale(java.util.Locale locale)` Sets the Locale of this model's calendar.
`void` | `setLowerBound(java.util.Date lowerBound)` Set the lower bound date that is allowed to be selected for this model.
`void` | `setMinimalDaysInFirstWeek(int minimalDays)` Sets the minimal number of days in the first week of the year.
`void` | `setTimeZone(java.util.TimeZone timeZone)` Sets the TimeZone of this model.
`void` | `setUpperBound(java.util.Date upperBound)` Set the upper bound date that is allowed to be selected for this model.
`protected java.util.Date` | `startOfDay(java.util.Date date)` Returns the start of the day of the given date in this model's calendar.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jdesktop.swingx.calendar.DateSelectionModel
`addSelectionInterval, clearSelection, getFirstSelectionDate, getLastSelectionDate, getNormalizedDate, getSelection, getSelectionMode, getUnselectableDates, isSelected, isSelectionEmpty, isUnselectableDate, removeSelectionInterval, setSelectionInterval, setSelectionMode, setUnselectableDates`

Field Detail

### EMPTY_DATES

    public static final java.util.SortedSet<java.util.Date> EMPTY_DATES

### listenerMap

    protected EventListenerMap listenerMap

### adjusting

    protected boolean adjusting

### calendar

    protected java.util.Calendar calendar

### upperBound

    protected java.util.Date upperBound

### lowerBound

    protected java.util.Date lowerBound

### locale

    protected java.util.Locale locale

  the locale used by the calendar.

  NOTE: need to keep separately as a Calendar has no getter.

Constructor Detail

### AbstractDateSelectionModel

    public AbstractDateSelectionModel()

  Instantiates a DateSelectionModel with default locale.

### AbstractDateSelectionModel

    public AbstractDateSelectionModel(java.util.Locale locale)

  Instantiates a DateSelectionModel with the given locale. If the locale is null, the Locale's default is used. PENDING JW: fall back to JComponent.getDefaultLocale instead? We use this with components anyway?

  Parameters:
    `locale` - the Locale to use with this model, defaults to Locale.default() if null.

Method Detail

### getCalendar

    public java.util.Calendar getCalendar()

  Returns a clone of the calendar used by this model. It's date is unspecified.

  Specified by:
    `getCalendar` in interface `DateSelectionModel`
  Returns:
    a clone of the calendar used by this model.

### getFirstDayOfWeek

    public int getFirstDayOfWeek()

  Gets what the first day of the week is; e.g., `Calendar.SUNDAY` in the U.S., `Calendar.MONDAY` in France. This is needed when the model selection mode is `WEEK_INTERVAL_SELECTION`. PENDING JW: move week-interval selection from JXMonthView into the model.

  Specified by:
    `getFirstDayOfWeek` in interface `DateSelectionModel`
  Returns:
    int The first day of the week.
  See Also:
    `DateSelectionModel.setFirstDayOfWeek(int)`

### setFirstDayOfWeek

    public void setFirstDayOfWeek(int firstDayOfWeek)

  Sets what the first day of the week is. E.g., `Calendar.SUNDAY` in US, `Calendar.MONDAY` in France. Fires a DateSelectionEvent of type CALENDAR_CHANGED, if the value is different from the old.

  The default value depends on the Calendar's default. PENDING JW: actually, it's a bound property. Use a propertyChangeListener?

  Specified by:
    `setFirstDayOfWeek` in interface `DateSelectionModel`
  Parameters:
    `firstDayOfWeek` - The first day of the week.
  See Also:
    `DateSelectionModel.getFirstDayOfWeek()`, `Calendar`

### getMinimalDaysInFirstWeek

    public int getMinimalDaysInFirstWeek()

  Gets the minimal number of days in the first week of the year.

  Specified by:
    `getMinimalDaysInFirstWeek` in interface `DateSelectionModel`
  Returns:
    int the minimal number of days in the first week of the year.

### setMinimalDaysInFirstWeek

    public void setMinimalDaysInFirstWeek(int minimalDays)

  Sets the minimal number of days in the first week of the year. Fires a DateSelectionEvent of type CALENDAR_CHANGED, if the value is different from the old. The default value depends on the Calendar's default. PENDING JW: actually, it's a bound property. Use a propertyChangeListener?

  Specified by:
    `setMinimalDaysInFirstWeek` in interface `DateSelectionModel`
  Parameters:
    `minimalDays` - the minimal number of days in the first week of the year.
  See Also:
    `DateSelectionModel.getMinimalDaysInFirstWeek()`, `Calendar`

### getTimeZone

    public java.util.TimeZone getTimeZone()

  Returns the TimeZone of this model.

  Specified by:
    `getTimeZone` in interface `DateSelectionModel`
  Returns:
    the TimeZone of this model.
  See Also:
    `DateSelectionModel.setTimeZone(TimeZone)`

### setTimeZone

    public void setTimeZone(java.util.TimeZone timeZone)

  Sets the TimeZone of this model. Fires a DateSelectionEvent of type CALENDAR_CHANGED if the new value is different from the old. The default value depends on the Calendar's default. PENDING JW: actually, it's a bound property. Use a propertyChangeListener?

  Specified by:
    `setTimeZone` in interface `DateSelectionModel`
  Parameters:
    `timeZone` - the TimeZone to use in this model, must not be null.
  See Also:
    `DateSelectionModel.getTimeZone()`

### adjustDatesToTimeZone

    protected void adjustDatesToTimeZone(java.util.TimeZone oldTimeZone)

  Adjusts all stored dates to a new time zone. This method is called after the change had been made.

  This implementation resets all dates to null, clears everything. Subclasses may override to really map to the new time zone.

  Parameters:
    `oldTimeZone` - the old time zone

### getLocale

    public java.util.Locale getLocale()

  Returns the Locale of this model's calendar.

  Specified by:
    `getLocale` in interface `DateSelectionModel`
  Returns:
    the Locale of this model's calendar.

### setLocale

    public void setLocale(java.util.Locale locale)

  Sets the Locale of this model's calendar. Fires a DateSelectionEvent of type CALENDAR_CHANGED if the new value is different from the old.

  The default value is Locale.default().

  PENDING JW: fall back to JComponent.getDefaultLocale instead? We use this with components anyway?

  PENDING JW: actually, it's a bound property. Use a propertyChangeListener?

  Specified by:
    `setLocale` in interface `DateSelectionModel`
  Parameters:
    `locale` - the Locale to use. If null, the default Locale is used.

### startOfDay

    protected java.util.Date startOfDay(java.util.Date date)

  Returns the start of the day of the given date in this model's calendar. NOTE: the calendar is changed by this operation.

  Parameters:
    `date` - the Date to get the start for.
  Returns:
    the Date representing the start of the day of the input date.

### endOfDay

    protected java.util.Date endOfDay(java.util.Date date)

  Returns the end of the day of the given date in this model's calendar. NOTE: the calendar is changed by this operation.

  Parameters:
    `date` - the Date to get the start for.
  Returns:
    the Date representing the end of the day of the input date.

### isSameDay

    protected boolean isSameDay(java.util.Date selected,
                                java.util.Date compare)

  Returns a boolean indicating whether the given dates are on the same day in the coordinates of the model's calendar.

  Parameters:
    `selected` - one of the dates to check, must not be null.
    `compare` - the other of the dates to check, must not be null.
  Returns:
    true if both dates represent the same day in this model's calendar.

### getUpperBound

    public java.util.Date getUpperBound()

  Return the upper bound date that is allowed to be selected for this model.

  Specified by:
    `getUpperBound` in interface `DateSelectionModel`
  Returns:
    upper bound date or null if not set

### setUpperBound

    public void setUpperBound(java.util.Date upperBound)

  Set the upper bound date that is allowed to be selected for this model.

  Specified by:
    `setUpperBound` in interface `DateSelectionModel`
  Parameters:
    `upperBound` - upper bound

### getLowerBound

    public java.util.Date getLowerBound()

  Return the lower bound date that is allowed to be selected for this model.

  Specified by:
    `getLowerBound` in interface `DateSelectionModel`
  Returns:
    lower bound date or null if not set

### setLowerBound

    public void setLowerBound(java.util.Date lowerBound)

  Set the lower bound date that is allowed to be selected for this model.

  Specified by:
    `setLowerBound` in interface `DateSelectionModel`
  Parameters:
    `lowerBound` - lower bound date or null if not set

### isAdjusting

    public boolean isAdjusting()

  Returns the property to decide whether the selection is intermediate or final.

  Specified by:
    `isAdjusting` in interface `DateSelectionModel`
  Returns:
    the adjusting property.

### setAdjusting

    public void setAdjusting(boolean adjusting)

  Set the property to mark upcoming selections as intermediate/ final. This will fire a event of type adjusting_start/stop. The default value is false. Note: Client code marking as intermediate must take care of finalizing again.

  Specified by:
    `setAdjusting` in interface `DateSelectionModel`
  Parameters:
    `adjusting` - a flag to turn the adjusting property on/off.

### addDateSelectionListener

    public void addDateSelectionListener(DateSelectionListener l)

  Add the specified listener to this model.

  Specified by:
    `addDateSelectionListener` in interface `DateSelectionModel`
  Parameters:
    `l` - listener to add to this model

### removeDateSelectionListener

    public void removeDateSelectionListener(DateSelectionListener l)

  Remove the specified listener to this model.

  Specified by:
    `removeDateSelectionListener` in interface `DateSelectionModel`
  Parameters:
    `l` - listener to remove from this model

### getDateSelectionListeners

    public java.util.List<DateSelectionListener> getDateSelectionListeners()

### fireValueChanged

    protected void fireValueChanged(DateSelectionEvent.EventType eventType)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.