Wtyczka z bazą kalendarza pozwala na tworzenie dowolnych implementacji kalendarzy, które mogą definiować własne zdarzenia na kalendarzu oraz nimi zarządzać. W tym celu należy zastosować się do zdefiniowanych reguł.
1. Stworzenie wtyczki.
W zależnościach należy podać zależność do wtyczki z bazowym kalendarzem:
<dependency> <groupId>com.suncode.plugin</groupId> <artifactId>calendar-plugin</artifactId> <version>1.0-SNAPSHOT</version> <scope>provided</scope> </dependency>
2. Przygotowanie implementacji kalendarza. W tym celu należy stworzyć klasę, która będzie implementować interfejs com.suncode.calendar.factory.CalendarFactory. Nasza klasa musi dostarczyć implementację kalendarza za pomocą otrzymanego builder'a CalendarBuilder w metodzie createCalendar. Musimy ustawić nazwę kalendarza oraz implementację zdarzeń na kalendarzu na podstawie interfejsu EventSource<T>.
Dodatkowo należy w deskryptorze wtyczki zarejestrować naszą klasę jako implementację kalendarza:
<calendar key="calendar" class="com.suncode.plugin.calendar.MyCalendar" />