Package org.exoplatform.caldav.plugin
Interface CalendarServerFlavour
- All Known Implementing Classes:
BlueMindServerFlavour,PlainServerFlavour
public interface CalendarServerFlavour
What a calendar server product adds to the plain CalDAV the host speaks:
which registrations are that product's, the write channels it may use
besides CalDAV, and the per-account sessions it keeps outside the protocol.
How it is found. CalendarServerFlavourRegistry collects every
bean implementing this interface, across web applications: a contributor
is a Spring @Service, never final. The first flavour that
recognises(org.exoplatform.caldav.model.CaldavServer) a registration is that registration's flavour; a
registration nobody recognises is plain CalDAV
(PlainServerFlavour).
What happens without one. A registration is plain CalDAV: only
WriteChannel.CALDAV is accepted on save, and a stored channel no
flavour allows is refused on the next save that states it and on
every write (see CalendarWriteChannelPlugin), never silently
switched back to CalDAV.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidDrops every session this product keeps, because a registration was written or removed under them.default voidforgetSession(long userIdentityId, Long serverId) Drops whatever session this product keeps for one account, because eXo changed what that account is — a connection, a reconnection, a disconnection.id()The flavour's stable identifier, the same as the front end's server preset for the product.booleanrecognises(org.exoplatform.caldav.model.CaldavServer server) Whether a registration stands for this product.Set<org.exoplatform.caldav.model.WriteChannel> The channels, besidesWriteChannel.CALDAV, a registration of this product may declare.
-
Method Details
-
id
String id()The flavour's stable identifier, the same as the front end's server preset for the product.- Returns:
- the identifier, never blank
-
recognises
boolean recognises(org.exoplatform.caldav.model.CaldavServer server) Whether a registration stands for this product.- Parameters:
server- the registration as posted or stored, may be null- Returns:
- true when this flavour is the registration's
-
writeChannels
Set<org.exoplatform.caldav.model.WriteChannel> writeChannels()The channels, besidesWriteChannel.CALDAV, a registration of this product may declare.- Returns:
- the channels, never null, possibly empty
-
forgetSession
Drops whatever session this product keeps for one account, because eXo changed what that account is — a connection, a reconnection, a disconnection. Never throws for an account it keeps nothing for.- Parameters:
userIdentityId- the social identity of the connected userserverId- the registration the account was on, null for the legacy deployment property
-
forgetAllSessions
default void forgetAllSessions()Drops every session this product keeps, because a registration was written or removed under them.
-