Interface EventSource


@Role @Unstable public interface EventSource
Since:
2.11
Version:
$Id: $
  • Method Summary

    Modifier and Type
    Method
    Description
    default org.xwiki.model.reference.LocalDocumentReference
    The configuration class to use for this event source.
    getEventInstance(com.xpn.xwiki.api.Document eventDoc, Date eventStartDate)
    Return the given document as an EventInstance with the given start date.
    getEvents(Date dateFrom, Date dateTo, String filter, org.xwiki.model.reference.DocumentReference parentRef, boolean sortAscending)
    Get all events that this source can find for the given constraints.
    default boolean
    Check if the source is available in the given context.
  • Method Details

    • isAvailable

      default boolean isAvailable()
      Check if the source is available in the given context. To get the context, use a context provider.
      Returns:
      true if the source is available to create events
    • getEvents

      List<EventInstance> getEvents(Date dateFrom, Date dateTo, String filter, org.xwiki.model.reference.DocumentReference parentRef, boolean sortAscending)
      Get all events that this source can find for the given constraints. If the "dateTo" is null, then assume a search for all events where the "dateFrom" is between the start date and the end date of the event. Otherwise return all events where the time interval between start date and end date (both inclusive) overlaps with the (inclusive) interval of dateFrom to dateTo. It can be assumed that dateTo is equal or after dateFrom, otherwise return an empty list. The filter parameter is a hint how to limit the the results relative to the given "parentRef" document. If the filter is null or equals to "wiki", all events independent of their location should be returned. The "parentRef" parameter can be ignored in that case. If the filter is "page", then return only direct sub pages of the given parentRef. If the filter is "space", then return all events whose pages are nested within the parentRefs space (i.e. they would also show up in that pages "Children" or "Siblings" view. If the filter is unknown or not supported, then return an empty list.
      Parameters:
      dateFrom - the start date of the date search window, never null
      dateTo - the end date of the date search window, might be null
      filter - textual hint how to filter the events, might be null
      parentRef - the root document for the filter. might be null
      sortAscending - if the events should be sorted by start date
      Returns:
      a list of event instances, should not be null, and should not contain nulls.
      See Also:
    • getEventInstance

      EventInstance getEventInstance(com.xpn.xwiki.api.Document eventDoc, Date eventStartDate)
      Return the given document as an EventInstance with the given start date. If the document contains only information about one event, then the start date can be ignored. If there is no matching information that this source can create from the document, then return null.
      Parameters:
      eventDoc - the document storing the information about this event
      eventStartDate - the start date of the event, might be null if it does not matter
      Returns:
      an event instance or null, if not event data found
    • getConfigurationClass

      default org.xwiki.model.reference.LocalDocumentReference getConfigurationClass()
      The configuration class to use for this event source. The configuration source allows to enable or disable the source for different calendars. It might also add more variables to configure the event source; if these should be used then the event source is responsible to get an instance of that configuration class from the current document. The default implementation returns null which means no special configuration class. In that case a default class will be used.
      Returns:
      a class name, or null. In the latter case a default implementation will be used.
      See Also:
      • DefaultSourceConfigurationClassInitializer