com.vaadin.ui
Class Calendar

java.lang.Object
  extended by com.vaadin.server.AbstractClientConnector
      extended by com.vaadin.ui.AbstractComponent
          extended by com.vaadin.ui.Calendar
All Implemented Interfaces:
Action.Container, ConnectorEventListener, DropTarget, MethodEventSource, ClientConnector, Sizeable, VariableOwner, com.vaadin.shared.Connector, Component, CalendarComponentEvents.CalendarEventNotifier, CalendarComponentEvents.EventMoveNotifier, CalendarComponentEvents.EventResizeNotifier, CalendarComponentEvents.NavigationNotifier, CalendarComponentEvents.RangeSelectNotifier, CalendarEditableEventProvider, CalendarEventProvider, CalendarEventProvider.EventSetChangeListener, LegacyComponent, java.io.Serializable, java.util.EventListener

public class Calendar
extends AbstractComponent
implements CalendarComponentEvents.NavigationNotifier, CalendarComponentEvents.EventMoveNotifier, CalendarComponentEvents.RangeSelectNotifier, CalendarComponentEvents.EventResizeNotifier, CalendarEventProvider.EventSetChangeListener, DropTarget, CalendarEditableEventProvider, Action.Container, LegacyComponent

Vaadin Calendar is for visualizing events in a calendar. Calendar events can be visualized in the variable length view depending on the start and end dates.

  • You can set the viewable date range with the setStartDate(Date) and setEndDate(Date) methods. Calendar has a default date range of one week
  • Calendar has two kind of views: monthly and weekly view
  • If date range is seven days or shorter, the weekly view is used.
  • Calendar queries its events by using a CalendarEventProvider. By default, a BasicEventProvider is used.
  • Since:
    7.1
    Author:
    Vaadin Ltd.
    See Also:
    Serialized Form

    Nested Class Summary
    static class Calendar.TimeFormat
              Calendar can use either 12 hours clock or 24 hours clock.
     
    Nested classes/interfaces inherited from interface com.vaadin.ui.components.calendar.event.CalendarEventProvider
    CalendarEventProvider.EventSetChangeEvent, CalendarEventProvider.EventSetChangeListener, CalendarEventProvider.EventSetChangeNotifier
     
    Nested classes/interfaces inherited from interface com.vaadin.ui.Component
    Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
     
    Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
    ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
     
    Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
    Sizeable.Unit
     
    Field Summary
    protected  java.util.Calendar currentCalendar
              Internal calendar data source.
    protected  Calendar.TimeFormat currentTimeFormat
              Defines currently active format for time.
    protected  java.text.DateFormat df_date
              Date format that will be used in the UIDL for dates.
    protected  java.text.DateFormat df_date_time
              Date format that will be used in the UIDL for both date and time.
    protected  java.text.DateFormat df_time
              Time format that will be used in the UIDL for time.
    protected  java.util.Date endDate
              Defines the calendar's date range ending point.
    protected  java.util.List<CalendarEvent> events
              Internal buffer for the events that are retrieved from the event provider.
    protected  java.util.Date startDate
              Defines the calendar's date range starting point.
    protected  java.util.TimeZone timezone
              Defines the component's active time zone.
     
    Fields inherited from class com.vaadin.ui.AbstractComponent
    DESIGN_ATTR_PLAIN_TEXT
     
    Fields inherited from interface com.vaadin.server.Sizeable
    SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
     
    Constructor Summary
    Calendar()
              Construct a Vaadin Calendar with a BasicEventProvider and no caption.
    Calendar(CalendarEventProvider eventProvider)
               Construct a Vaadin Calendar with event provider.
    Calendar(java.lang.String caption)
              Construct a Vaadin Calendar with a BasicEventProvider and the provided caption.
    Calendar(java.lang.String caption, CalendarEventProvider eventProvider)
               Construct a Vaadin Calendar with event provider and a caption.
     
    Method Summary
     void addActionHandler(Action.Handler actionHandler)
              Adds an action handler to the calender that handles event produced by the context menu.
     void addEvent(CalendarEvent event)
              Adds an event to the event provider
     void beforeClientResponse(boolean initial)
              Called before the shared state and RPC invocations are sent to the client.
     void changeVariables(java.lang.Object source, java.util.Map<java.lang.String,java.lang.Object> variables)
              Called when one or more variables handled by the implementing class are changed.
     void eventSetChange(CalendarEventProvider.EventSetChangeEvent changeEvent)
              Called when the set of Events has changed.
    protected  java.util.Date expandEndDate(java.util.Date end, boolean expandToFullWeek)
              Finds the last day of the week and returns a day representing the end of that day
    protected  java.util.Date expandStartDate(java.util.Date start, boolean expandToFullWeek)
              Finds the first day of the week and returns a day representing the start of that day
    protected  void fireDateClick(java.util.Date date)
              Fires event when a date was clicked in the calendar.
    protected  void fireEventClick(java.lang.Integer index)
              Fires event when a date was clicked in the calendar.
    protected  void fireEventMove(int index, java.util.Date newFromDatetime)
              Fires an event move event to all server side move listerners
    protected  void fireEventResize(int index, java.util.Date startTime, java.util.Date endTime)
              Fires an event resize event.
    protected  void fireNavigationEvent(boolean forward)
              Fires an event when the user selecing moving forward/backward in the calendar.
    protected  void fireRangeSelect(java.util.Date from, java.util.Date to, boolean monthlyMode)
              Fires an event range selected event.
    protected  void fireWeekClick(int week, int year)
              Fires event when a week was clicked in the calendar.
    protected  java.util.Collection<java.lang.String> getCustomAttributes()
              Returns a collection of attributes that should not be handled by the basic implementation of the readDesign and writeDesign methods.
    protected  java.lang.String[] getDayNamesShort()
              Localized display names for week days starting from sunday.
     DropHandler getDropHandler()
              Get the currently active drop handler
     java.util.Date getEndDate()
              Gets the calendar's end date.
     CalendarEventProvider getEventProvider()
               
     java.util.List<CalendarEvent> getEvents(java.util.Date startDate, java.util.Date endDate)
               Gets all available events in the target date range between startDate and endDate.
    protected  java.util.Date getFirstDateForWeek(java.util.Date date)
              Gets a date that is first day in the week that target given date belongs to.
     int getFirstVisibleDayOfWeek()
              Get the first visible day of the week.
     int getFirstVisibleHourOfDay()
              Returns the first visible hour in the week view.
     java.util.EventListener getHandler(java.lang.String eventId)
              Get the assigned event handler for the given eventId.
     java.util.Calendar getInternalCalendar()
              Get the internally used Calendar instance.
    protected  java.util.Date getLastDateForWeek(java.util.Date date)
              Gets a date that is last day in the week that target given date belongs to.
     int getLastVisibleDayOfWeek()
              Get the last visible day of the week.
     int getLastVisibleHourOfDay()
              Returns the last visible hour in the week view.
    protected  java.util.logging.Logger getLogger()
              Returns the logger for the calendar
    protected  java.lang.String[] getMonthNamesShort()
              Localized display names for months starting from January.
     java.util.Date getStartDate()
              Gets the calendar's start date.
     com.vaadin.shared.ui.calendar.CalendarState getState()
              Returns the shared state bean with information to be sent from the server to the client.
    protected  com.vaadin.shared.ui.calendar.CalendarState getState(boolean markAsDirty)
              Returns the shared state for this connector.
     Calendar.TimeFormat getTimeFormat()
              Gets currently active time format.
     java.util.TimeZone getTimeZone()
              Returns a time zone that is currently used by this component.
     java.lang.String getWeeklyCaptionFormat()
              Gets the date caption format for the weekly view.
    protected  boolean isClientChangeAllowed()
              Is the user allowed to trigger events which alters the events
     boolean isEventCaptionAsHtml()
              Checks whether event captions are rendered as HTML
    protected  boolean isEventClickAllowed()
              Deprecated. As of 7.4, override fireEventClick(Integer) instead.
     boolean isMonthlyMode()
              Is the calendar in a mode where all days of the month is shown
     void paintContent(PaintTarget target)
               Paints the Paintable into a UIDL stream.
     void readDesign(org.jsoup.nodes.Element design, DesignContext designContext)
              Reads the component state from the given design.
     void removeActionHandler(Action.Handler actionHandler)
              Removes a previously registered action handler for the contents of this container.
     void removeEvent(CalendarEvent event)
              Removes an event from the event provider
     void setContainerDataSource(Container.Indexed container)
              Sets a container as a data source for the events in the calendar.
     void setContainerDataSource(Container.Indexed container, java.lang.Object captionProperty, java.lang.Object descriptionProperty, java.lang.Object startDateProperty, java.lang.Object endDateProperty, java.lang.Object styleNameProperty)
              Sets a container as a data source for the events in the calendar.
    protected  void setDefaultHandlers()
              Set all the wanted default handlers here.
     void setDropHandler(DropHandler dropHandler)
              Set the drop handler for the calendar See DropHandler for implementation details.
     void setEndDate(java.util.Date date)
              Sets end date for the calendar.
     void setEventCaptionAsHtml(boolean eventCaptionAsHtml)
              Sets whether the event captions are rendered as HTML.
     void setEventProvider(CalendarEventProvider calendarEventProvider)
              Set the CalendarEventProvider to be used with this calendar.
     void setFirstVisibleDayOfWeek(int firstDay)
               This method restricts the weekdays that are shown.
     void setFirstVisibleHourOfDay(int firstHour)
               This method restricts the hours that are shown per day.
     void setHandler(CalendarComponentEvents.BackwardHandler listener)
              Add a backward navigation listener.
     void setHandler(CalendarComponentEvents.DateClickHandler listener)
              Add a date click listener.
     void setHandler(CalendarComponentEvents.EventClickHandler listener)
              Add a event click listener.
     void setHandler(CalendarComponentEvents.EventMoveHandler listener)
              Set the EventMoveHandler.
     void setHandler(CalendarComponentEvents.EventResizeHandler listener)
              Set a EventResizeHandler.
     void setHandler(CalendarComponentEvents.ForwardHandler listener)
              Add a forward navigation listener.
     void setHandler(CalendarComponentEvents.RangeSelectHandler listener)
              Set the RangeSelectHandler that listens for drag-marking.
     void setHandler(CalendarComponentEvents.WeekClickHandler listener)
              Add a week click listener.
    protected  void setHandler(java.lang.String eventId, java.lang.Class<?> eventType, java.util.EventListener listener, java.lang.reflect.Method listenerMethod)
              Set the handler for the given type information.
     void setLastVisibleDayOfWeek(int lastDay)
               This method restricts the weekdays that are shown.
     void setLastVisibleHourOfDay(int lastHour)
               This method restricts the hours that are shown per day.
     void setLocale(java.util.Locale newLocale)
              Sets the locale to be used in the Calendar component.
     void setStartDate(java.util.Date date)
              Sets start date for the calendar.
     void setTimeFormat(Calendar.TimeFormat format)
              Example: setTimeFormat(TimeFormat.Format12H);
    Set to null, if you want the format being defined by the locale.
     void setTimeZone(java.util.TimeZone zone)
              Set time zone that this component will use.
     void setWeeklyCaptionFormat(java.lang.String dateFormatPattern)
              Sets custom date format for the weekly view.
     TargetDetails translateDropTargetDetails(java.util.Map<java.lang.String,java.lang.Object> clientVariables)
              Called before the DragAndDropEvent is passed to DropHandler.
     void writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)
              Writes the component state to the given design.
     
    Methods inherited from class com.vaadin.ui.AbstractComponent
    addListener, addShortcutListener, addStyleName, attach, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, focus, getActionManager, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorMessage, getExplicitImmediateValue, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isImmediate, isOrHasAncestor, isReadOnly, isResponsive, isVisible, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setParent, setPrimaryStyleName, setReadOnly, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidth, setWidthUndefined
     
    Methods inherited from class com.vaadin.server.AbstractClientConnector
    addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
     
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
     
    Methods inherited from interface com.vaadin.ui.LegacyComponent
    markAsDirty
     
    Methods inherited from interface com.vaadin.server.VariableOwner
    isEnabled, isImmediate
     
    Methods inherited from interface com.vaadin.ui.Component
    addListener, addStyleName, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isReadOnly, isVisible, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setReadOnly, setStyleName, setVisible
     
    Methods inherited from interface com.vaadin.server.ClientConnector
    addAttachListener, addDetachListener, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
     
    Methods inherited from interface com.vaadin.shared.Connector
    getConnectorId
     
    Methods inherited from interface com.vaadin.server.Sizeable
    getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUndefined
     

    Field Detail

    currentTimeFormat

    protected Calendar.TimeFormat currentTimeFormat
    Defines currently active format for time. 12H/24H.


    currentCalendar

    protected java.util.Calendar currentCalendar
    Internal calendar data source.


    timezone

    protected java.util.TimeZone timezone
    Defines the component's active time zone.


    startDate

    protected java.util.Date startDate
    Defines the calendar's date range starting point.


    endDate

    protected java.util.Date endDate
    Defines the calendar's date range ending point.


    events

    protected java.util.List<CalendarEvent> events
    Internal buffer for the events that are retrieved from the event provider.


    df_date

    protected java.text.DateFormat df_date
    Date format that will be used in the UIDL for dates.


    df_time

    protected java.text.DateFormat df_time
    Time format that will be used in the UIDL for time.


    df_date_time

    protected java.text.DateFormat df_date_time
    Date format that will be used in the UIDL for both date and time.

    Constructor Detail

    Calendar

    public Calendar()
    Construct a Vaadin Calendar with a BasicEventProvider and no caption. Default date range is one week.


    Calendar

    public Calendar(java.lang.String caption)
    Construct a Vaadin Calendar with a BasicEventProvider and the provided caption. Default date range is one week.

    Parameters:
    caption -

    Calendar

    public Calendar(CalendarEventProvider eventProvider)

    Construct a Vaadin Calendar with event provider. Event provider is obligatory, because calendar component will query active events through it.

    By default, Vaadin Calendar will show dates from the start of the current week to the end of the current week. Use setStartDate(Date) and setEndDate(Date) to change this.

    Parameters:
    eventProvider - Event provider, cannot be null.

    Calendar

    public Calendar(java.lang.String caption,
                    CalendarEventProvider eventProvider)

    Construct a Vaadin Calendar with event provider and a caption. Event provider is obligatory, because calendar component will query active events through it.

    By default, Vaadin Calendar will show dates from the start of the current week to the end of the current week. Use setStartDate(Date) and setEndDate(Date) to change this.

    Parameters:
    eventProvider - Event provider, cannot be null.
    Method Detail

    getLogger

    protected java.util.logging.Logger getLogger()
    Returns the logger for the calendar


    getState

    public com.vaadin.shared.ui.calendar.CalendarState getState()
    Description copied from class: AbstractComponent
    Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().

    Overrides:
    getState in class AbstractComponent
    Returns:
    updated component shared state

    getState

    protected com.vaadin.shared.ui.calendar.CalendarState getState(boolean markAsDirty)
    Description copied from class: AbstractClientConnector
    Returns the shared state for this connector.

    Overrides:
    getState in class AbstractComponent
    Parameters:
    markAsDirty - true if the connector should automatically be marked dirty, false otherwise
    Returns:
    The shared state for this connector. Never null.
    See Also:
    AbstractClientConnector.getState()

    beforeClientResponse

    public void beforeClientResponse(boolean initial)
    Description copied from interface: ClientConnector
    Called before the shared state and RPC invocations are sent to the client. Gives the connector an opportunity to set computed/dynamic state values or to invoke last minute RPC methods depending on other component features.

    Specified by:
    beforeClientResponse in interface ClientConnector
    Overrides:
    beforeClientResponse in class AbstractComponent
    Parameters:
    initial - true if the client-side connector will be created and initialized after this method has been invoked. false if there is already an initialized client-side connector.

    setDefaultHandlers

    protected void setDefaultHandlers()
    Set all the wanted default handlers here. This is always called after constructing this object. All other events have default handlers except range and event click.


    getStartDate

    public java.util.Date getStartDate()
    Gets the calendar's start date.

    Returns:
    First visible date.

    setStartDate

    public void setStartDate(java.util.Date date)
    Sets start date for the calendar. This and setEndDate(Date) control the range of dates visible on the component. The default range is one week.

    Parameters:
    date - First visible date to show.

    getEndDate

    public java.util.Date getEndDate()
    Gets the calendar's end date.

    Returns:
    Last visible date.

    setEndDate

    public void setEndDate(java.util.Date date)
    Sets end date for the calendar. Starting from startDate, only six weeks will be shown if duration to endDate is longer than six weeks. This and setStartDate(Date) control the range of dates visible on the component. The default range is one week.

    Parameters:
    date - Last visible date to show.

    setLocale

    public void setLocale(java.util.Locale newLocale)
    Sets the locale to be used in the Calendar component.

    Overrides:
    setLocale in class AbstractComponent
    Parameters:
    newLocale - the locale to become this component's locale.
    See Also:
    AbstractComponent.setLocale(java.util.Locale)

    getTimeFormat

    public Calendar.TimeFormat getTimeFormat()
    Gets currently active time format. Value is either TimeFormat.Format12H or TimeFormat.Format24H.

    Returns:
    TimeFormat Format for the time.

    setTimeFormat

    public void setTimeFormat(Calendar.TimeFormat format)
    Example: setTimeFormat(TimeFormat.Format12H);
    Set to null, if you want the format being defined by the locale.

    Parameters:
    format - Set 12h or 24h format. Default is defined by the locale.

    getTimeZone

    public java.util.TimeZone getTimeZone()
    Returns a time zone that is currently used by this component.

    Returns:
    Component's Time zone

    setTimeZone

    public void setTimeZone(java.util.TimeZone zone)
    Set time zone that this component will use. Null value sets the default time zone.

    Parameters:
    zone - Time zone to use

    getInternalCalendar

    public java.util.Calendar getInternalCalendar()
    Get the internally used Calendar instance. This is the currently used instance of Calendar but is bound to change during the lifetime of the component.

    Returns:
    the currently used java calendar

    setFirstVisibleDayOfWeek

    public void setFirstVisibleDayOfWeek(int firstDay)

    This method restricts the weekdays that are shown. This affects both the monthly and the weekly view. The general contract is that firstDay < lastDay.

    Note that this only affects the rendering process. Events are still requested by the dates set by setStartDate(Date) and setEndDate(Date).

    Parameters:
    firstDay - the first day of the week to show, between 1 and 7

    getFirstVisibleDayOfWeek

    public int getFirstVisibleDayOfWeek()
    Get the first visible day of the week. Returns the weekdays as integers represented by Calendar.DAY_OF_WEEK

    Returns:
    An integer representing the week day according to Calendar.DAY_OF_WEEK

    setLastVisibleDayOfWeek

    public void setLastVisibleDayOfWeek(int lastDay)

    This method restricts the weekdays that are shown. This affects both the monthly and the weekly view. The general contract is that firstDay < lastDay.

    Note that this only affects the rendering process. Events are still requested by the dates set by setStartDate(Date) and setEndDate(Date).

    Parameters:
    lastDay - the first day of the week to show, between 1 and 7

    getLastVisibleDayOfWeek

    public int getLastVisibleDayOfWeek()
    Get the last visible day of the week. Returns the weekdays as integers represented by Calendar.DAY_OF_WEEK

    Returns:
    An integer representing the week day according to Calendar.DAY_OF_WEEK

    setFirstVisibleHourOfDay

    public void setFirstVisibleHourOfDay(int firstHour)

    This method restricts the hours that are shown per day. This affects the weekly view. The general contract is that firstHour < lastHour.

    Note that this only affects the rendering process. Events are still requested by the dates set by setStartDate(Date) and setEndDate(Date).

    Parameters:
    firstHour - the first hour of the day to show, between 0 and 23

    getFirstVisibleHourOfDay

    public int getFirstVisibleHourOfDay()
    Returns the first visible hour in the week view. Returns the hour using a 24h time format


    setLastVisibleHourOfDay

    public void setLastVisibleHourOfDay(int lastHour)

    This method restricts the hours that are shown per day. This affects the weekly view. The general contract is that firstHour < lastHour.

    Note that this only affects the rendering process. Events are still requested by the dates set by setStartDate(Date) and setEndDate(Date).

    Parameters:
    lastHour - the first hour of the day to show, between 0 and 23

    getLastVisibleHourOfDay

    public int getLastVisibleHourOfDay()
    Returns the last visible hour in the week view. Returns the hour using a 24h time format


    getWeeklyCaptionFormat

    public java.lang.String getWeeklyCaptionFormat()
    Gets the date caption format for the weekly view.

    Returns:
    The pattern used in caption of dates in weekly view.

    setWeeklyCaptionFormat

    public void setWeeklyCaptionFormat(java.lang.String dateFormatPattern)
    Sets custom date format for the weekly view. This is the caption of the date. Format could be like "mmm MM/dd".

    Parameters:
    dateFormatPattern - The date caption pattern.

    isClientChangeAllowed

    protected boolean isClientChangeAllowed()
    Is the user allowed to trigger events which alters the events

    Returns:
    true if the client is allowed to send changes to server
    See Also:
    isEventClickAllowed()

    isEventClickAllowed

    @Deprecated
    protected boolean isEventClickAllowed()
    Deprecated. As of 7.4, override fireEventClick(Integer) instead.

    Is the user allowed to trigger click events. Returns true by default. Subclass can override this method to disallow firing event clicks got from the client side.

    Returns:
    true if the client is allowed to click events
    See Also:
    isClientChangeAllowed()

    fireNavigationEvent

    protected void fireNavigationEvent(boolean forward)
    Fires an event when the user selecing moving forward/backward in the calendar.

    Parameters:
    forward - True if the calendar moved forward else backward is assumed.

    fireEventMove

    protected void fireEventMove(int index,
                                 java.util.Date newFromDatetime)
    Fires an event move event to all server side move listerners

    Parameters:
    index - The index of the event in the events list
    newFromDatetime - The changed from date time

    fireWeekClick

    protected void fireWeekClick(int week,
                                 int year)
    Fires event when a week was clicked in the calendar.

    Parameters:
    week - The week that was clicked
    year - The year of the week

    fireEventClick

    protected void fireEventClick(java.lang.Integer index)
    Fires event when a date was clicked in the calendar. Uses an existing event from the event cache.

    Parameters:
    index - The index of the event in the event cache.

    fireDateClick

    protected void fireDateClick(java.util.Date date)
    Fires event when a date was clicked in the calendar. Creates a new event for the date and passes it to the listener.

    Parameters:
    date - The date and time that was clicked

    fireRangeSelect

    protected void fireRangeSelect(java.util.Date from,
                                   java.util.Date to,
                                   boolean monthlyMode)
    Fires an event range selected event. The event is fired when a user highlights an area in the calendar. The highlighted areas start and end dates are returned as arguments.

    Parameters:
    from - The start date and time of the highlighted area
    to - The end date and time of the highlighted area
    monthlyMode - Is the calendar in monthly mode

    fireEventResize

    protected void fireEventResize(int index,
                                   java.util.Date startTime,
                                   java.util.Date endTime)
    Fires an event resize event. The event is fired when a user resizes the event in the calendar causing the time range of the event to increase or decrease. The new start and end times are returned as arguments to this method.

    Parameters:
    index - The index of the event in the event cache
    startTime - The new start date and time of the event
    endTime - The new end date and time of the event

    getDayNamesShort

    protected java.lang.String[] getDayNamesShort()
    Localized display names for week days starting from sunday. Returned array's length is always 7.

    Returns:
    Array of localized weekday names.

    getMonthNamesShort

    protected java.lang.String[] getMonthNamesShort()
    Localized display names for months starting from January. Returned array's length is always 12.

    Returns:
    Array of localized month names.

    getFirstDateForWeek

    protected java.util.Date getFirstDateForWeek(java.util.Date date)
    Gets a date that is first day in the week that target given date belongs to.

    Parameters:
    date - Target date
    Returns:
    Date that is first date in same week that given date is.

    getLastDateForWeek

    protected java.util.Date getLastDateForWeek(java.util.Date date)
    Gets a date that is last day in the week that target given date belongs to.

    Parameters:
    date - Target date
    Returns:
    Date that is last date in same week that given date is.

    expandStartDate

    protected java.util.Date expandStartDate(java.util.Date start,
                                             boolean expandToFullWeek)
    Finds the first day of the week and returns a day representing the start of that day

    Parameters:
    start - The actual date
    expandToFullWeek - Should the returned date be moved to the start of the week
    Returns:
    If expandToFullWeek is set then it returns the first day of the week, else it returns a clone of the actual date with the time set to the start of the day

    expandEndDate

    protected java.util.Date expandEndDate(java.util.Date end,
                                           boolean expandToFullWeek)
    Finds the last day of the week and returns a day representing the end of that day

    Parameters:
    end - The actual date
    expandToFullWeek - Should the returned date be moved to the end of the week
    Returns:
    If expandToFullWeek is set then it returns the last day of the week, else it returns a clone of the actual date with the time set to the end of the day

    setEventProvider

    public void setEventProvider(CalendarEventProvider calendarEventProvider)
    Set the CalendarEventProvider to be used with this calendar. The EventProvider is used to query for events to show, and must be non-null. By default a BasicEventProvider is used.

    Parameters:
    calendarEventProvider - the calendarEventProvider to set. Cannot be null.

    getEventProvider

    public CalendarEventProvider getEventProvider()
    Returns:
    the CalendarEventProvider currently used

    eventSetChange

    public void eventSetChange(CalendarEventProvider.EventSetChangeEvent changeEvent)
    Description copied from interface: CalendarEventProvider.EventSetChangeListener
    Called when the set of Events has changed.

    Specified by:
    eventSetChange in interface CalendarEventProvider.EventSetChangeListener

    setHandler

    protected void setHandler(java.lang.String eventId,
                              java.lang.Class<?> eventType,
                              java.util.EventListener listener,
                              java.lang.reflect.Method listenerMethod)
    Set the handler for the given type information. Mirrors addListener from AbstractComponent

    Parameters:
    eventId - A unique id for the event. Usually one of CalendarEventId
    eventType - The class of the event, most likely a subclass of CalendarComponentEvent
    listener - A listener that listens to the given event
    listenerMethod - The method on the lister to call when the event is triggered

    setHandler

    public void setHandler(CalendarComponentEvents.ForwardHandler listener)
    Description copied from interface: CalendarComponentEvents.NavigationNotifier
    Add a forward navigation listener.

    Specified by:
    setHandler in interface CalendarComponentEvents.NavigationNotifier
    Parameters:
    listener - ForwardHandler to be added.

    setHandler

    public void setHandler(CalendarComponentEvents.BackwardHandler listener)
    Description copied from interface: CalendarComponentEvents.NavigationNotifier
    Add a backward navigation listener.

    Specified by:
    setHandler in interface CalendarComponentEvents.NavigationNotifier
    Parameters:
    listener - BackwardHandler to be added.

    setHandler

    public void setHandler(CalendarComponentEvents.DateClickHandler listener)
    Description copied from interface: CalendarComponentEvents.NavigationNotifier
    Add a date click listener.

    Specified by:
    setHandler in interface CalendarComponentEvents.NavigationNotifier
    Parameters:
    listener - DateClickHandler to be added.

    setHandler

    public void setHandler(CalendarComponentEvents.EventClickHandler listener)
    Description copied from interface: CalendarComponentEvents.NavigationNotifier
    Add a event click listener.

    Specified by:
    setHandler in interface CalendarComponentEvents.NavigationNotifier
    Parameters:
    listener - EventClickHandler to be added.

    setHandler

    public void setHandler(CalendarComponentEvents.WeekClickHandler listener)
    Description copied from interface: CalendarComponentEvents.NavigationNotifier
    Add a week click listener.

    Specified by:
    setHandler in interface CalendarComponentEvents.NavigationNotifier
    Parameters:
    listener - WeekClickHandler to be added.

    setHandler

    public void setHandler(CalendarComponentEvents.EventResizeHandler listener)
    Description copied from interface: CalendarComponentEvents.EventResizeNotifier
    Set a EventResizeHandler.

    Specified by:
    setHandler in interface CalendarComponentEvents.EventResizeNotifier
    Parameters:
    listener - EventResizeHandler to be set

    setHandler

    public void setHandler(CalendarComponentEvents.RangeSelectHandler listener)
    Description copied from interface: CalendarComponentEvents.RangeSelectNotifier
    Set the RangeSelectHandler that listens for drag-marking.

    Specified by:
    setHandler in interface CalendarComponentEvents.RangeSelectNotifier
    Parameters:
    listener - RangeSelectHandler to be added.

    setHandler

    public void setHandler(CalendarComponentEvents.EventMoveHandler listener)
    Description copied from interface: CalendarComponentEvents.EventMoveNotifier
    Set the EventMoveHandler.

    Specified by:
    setHandler in interface CalendarComponentEvents.EventMoveNotifier
    Parameters:
    listener - EventMoveHandler to be added

    getHandler

    public java.util.EventListener getHandler(java.lang.String eventId)
    Description copied from interface: CalendarComponentEvents.CalendarEventNotifier
    Get the assigned event handler for the given eventId.

    Specified by:
    getHandler in interface CalendarComponentEvents.CalendarEventNotifier
    Returns:
    the assigned eventHandler, or null if no handler is assigned

    getDropHandler

    public DropHandler getDropHandler()
    Get the currently active drop handler

    Specified by:
    getDropHandler in interface DropTarget
    Returns:
    the drop hanler that will receive the dragged data or null if drops are not currently accepted

    setDropHandler

    public void setDropHandler(DropHandler dropHandler)
    Set the drop handler for the calendar See DropHandler for implementation details.

    Parameters:
    dropHandler - The drop handler to set

    translateDropTargetDetails

    public TargetDetails translateDropTargetDetails(java.util.Map<java.lang.String,java.lang.Object> clientVariables)
    Description copied from interface: DropTarget
    Called before the DragAndDropEvent is passed to DropHandler. Implementation may for example translate the drop target details provided by the client side (drop target) to meaningful server side values. If null is returned the terminal implementation will automatically create a TargetDetails with raw client side data.

    Specified by:
    translateDropTargetDetails in interface DropTarget
    Parameters:
    clientVariables - data passed from the DropTargets client side counterpart.
    Returns:
    A DropTargetDetails object with the translated data or null to use a default implementation.
    See Also:
    DragSource.getTransferable(Map)

    setContainerDataSource

    public void setContainerDataSource(Container.Indexed container)
    Sets a container as a data source for the events in the calendar. Equivalent for doing Calendar.setEventProvider(new ContainerEventProvider(container)) Use this method if you are adding a container which uses the default property ids like BeanItemContainer for instance. If you are using custom properties instead use setContainerDataSource(com.vaadin.data.Container.Indexed, Object, Object, Object, Object, Object) Please note that the container must be sorted by date!

    Parameters:
    container - The container to use as a datasource

    setContainerDataSource

    public void setContainerDataSource(Container.Indexed container,
                                       java.lang.Object captionProperty,
                                       java.lang.Object descriptionProperty,
                                       java.lang.Object startDateProperty,
                                       java.lang.Object endDateProperty,
                                       java.lang.Object styleNameProperty)
    Sets a container as a data source for the events in the calendar. Equivalent for doing Calendar.setEventProvider(new ContainerEventProvider(container)) Please note that the container must be sorted by date!

    Parameters:
    container - The container to use as a data source
    captionProperty - The property that has the caption, null if no caption property is present
    descriptionProperty - The property that has the description, null if no description property is present
    startDateProperty - The property that has the starting date
    endDateProperty - The property that has the ending date
    styleNameProperty - The property that has the stylename, null if no stylname property is present

    getEvents

    public java.util.List<CalendarEvent> getEvents(java.util.Date startDate,
                                                   java.util.Date endDate)
    Description copied from interface: CalendarEventProvider

    Gets all available events in the target date range between startDate and endDate. The Vaadin Calendar queries the events from the range that is shown, which is not guaranteed to be the same as the date range that is set.

    For example, if you set the date range to be monday 22.2.2010 - wednesday 24.2.2010, the used Event Provider will be queried for events between monday 22.2.2010 00:00 and sunday 28.2.2010 23:59. Generally you can expect the date range to be expanded to whole days and whole weeks.

    Specified by:
    getEvents in interface CalendarEventProvider
    Parameters:
    startDate - Start date
    endDate - End date
    Returns:
    List of events

    addEvent

    public void addEvent(CalendarEvent event)
    Description copied from interface: CalendarEditableEventProvider
    Adds an event to the event provider

    Specified by:
    addEvent in interface CalendarEditableEventProvider
    Parameters:
    event - The event to add

    removeEvent

    public void removeEvent(CalendarEvent event)
    Description copied from interface: CalendarEditableEventProvider
    Removes an event from the event provider

    Specified by:
    removeEvent in interface CalendarEditableEventProvider
    Parameters:
    event - The event

    addActionHandler

    public void addActionHandler(Action.Handler actionHandler)
    Adds an action handler to the calender that handles event produced by the context menu.

    The Action.Handler.getActions(Object, Object) parameters depend on what view the Calendar is in:

    The Dates passed into the CalendarDateRange are in the same timezone as the calendar is.

    The Action.Handler.handleAction(Action, Object, Object) parameters depend on what the context menu is called upon:

    Specified by:
    addActionHandler in interface Action.Container
    Parameters:
    actionHandler - the new handler to be added.

    isMonthlyMode

    public boolean isMonthlyMode()
    Is the calendar in a mode where all days of the month is shown

    Returns:
    Returns true if calendar is in monthly mode and false if it is in weekly mode

    removeActionHandler

    public void removeActionHandler(Action.Handler actionHandler)
    Description copied from interface: Action.Container
    Removes a previously registered action handler for the contents of this container.

    Specified by:
    removeActionHandler in interface Action.Container
    Parameters:
    actionHandler - the handler to be removed.

    changeVariables

    public void changeVariables(java.lang.Object source,
                                java.util.Map<java.lang.String,java.lang.Object> variables)
    Description copied from interface: VariableOwner
    Called when one or more variables handled by the implementing class are changed.

    Specified by:
    changeVariables in interface VariableOwner
    Parameters:
    source - the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.
    variables - the Mapping from variable names to new variable values.

    paintContent

    public void paintContent(PaintTarget target)
                      throws PaintException
    Description copied from interface: LegacyComponent

    Paints the Paintable into a UIDL stream. This method creates the UIDL sequence describing it and outputs it to the given UIDL stream.

    It is called when the contents of the component should be painted in response to the component first being shown or having been altered so that its visual representation is changed.

    Specified by:
    paintContent in interface LegacyComponent
    Parameters:
    target - the target UIDL stream where the component should paint itself to.
    Throws:
    PaintException - if the paint operation failed.

    setEventCaptionAsHtml

    public void setEventCaptionAsHtml(boolean eventCaptionAsHtml)
    Sets whether the event captions are rendered as HTML.

    If set to true, the captions are rendered in the browser as HTML and the developer is responsible for ensuring no harmful HTML is used. If set to false, the caption is rendered in the browser as plain text.

    The default is false, i.e. to render that caption as plain text.

    Parameters:
    captionAsHtml - true if the captions are rendered as HTML, false if rendered as plain text

    isEventCaptionAsHtml

    public boolean isEventCaptionAsHtml()
    Checks whether event captions are rendered as HTML

    The default is false, i.e. to render that caption as plain text.

    Returns:
    true if the captions are rendered as HTML, false if rendered as plain text

    readDesign

    public void readDesign(org.jsoup.nodes.Element design,
                           DesignContext designContext)
    Description copied from interface: Component
    Reads the component state from the given design.

    The component is responsible not only for updating its own state but also for ensuring that its children update their state based on the design.

    It is assumed that the component is in its default state when this method is called. Reading should only take into consideration attributes specified in the design and not reset any unspecified attributes to their defaults.

    This method must not modify the design.

    Specified by:
    readDesign in interface Component
    Overrides:
    readDesign in class AbstractComponent
    Parameters:
    design - The element to obtain the state from
    designContext - The DesignContext instance used for parsing the design

    writeDesign

    public void writeDesign(org.jsoup.nodes.Element design,
                            DesignContext designContext)
    Description copied from interface: Component
    Writes the component state to the given design.

    The component is responsible not only for writing its own state but also for ensuring that its children write their state to the design.

    This method must not modify the component state.

    Specified by:
    writeDesign in interface Component
    Overrides:
    writeDesign in class AbstractComponent
    Parameters:
    design - The element to write the component state to. Any previous attributes or child nodes are not cleared.
    designContext - The DesignContext instance used for writing the design

    getCustomAttributes

    protected java.util.Collection<java.lang.String> getCustomAttributes()
    Description copied from class: AbstractComponent
    Returns a collection of attributes that should not be handled by the basic implementation of the readDesign and writeDesign methods. Typically these are handled in a custom way in the overridden versions of the above methods

    Overrides:
    getCustomAttributes in class AbstractComponent
    Returns:
    the collection of attributes that are not handled by the basic implementation


    Copyright © 2000-2014 Vaadin Ltd. All Rights Reserved.