Enum Class CalendarSyncStatus
- All Implemented Interfaces:
Serializable,Comparable<CalendarSyncStatus>,Constable
ACTIVE
is a state the user can be shown and, where it makes sense, act on — the
point of recording them rather than logging a failure and retrying blindly.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionBound on both sides and synchronising.A deletion is in flight.An EXO pair whose local calendar no longer exists while its remote collection does, and which no deletion accounted for.The user hid a calendar somebody shared with them (EXO-90239).The local calendar is gone and the remote collection has not been dealt with yet.Synchronisation is suspended and will not resume on its own.The server refused to create the collection.The remote collection has disappeared.A calendar materialised from a collection the user only subscribed to — a BlueMind resource, a colleague's calendar — before the server's naming was read, and retired since (EXO-90275). -
Method Summary
Modifier and TypeMethodDescriptionstatic CalendarSyncStatusReturns the enum constant of this class with the specified name.static CalendarSyncStatus[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
ACTIVE
Bound on both sides and synchronising. -
REMOTE_CREATE_REFUSED
The server refused to create the collection. Real on servers whose CalDAV implementation does not offer MKCALENDAR at all — Google's is the usual one. Not BlueMind's: it answers 201 while creating nothing when the request omits the supported component set, which is a malformed request on our side rather than a refusal, and is why creation is confirmed by a read-back rather than by a status code. -
REMOTE_GONE
The remote collection has disappeared. For an EXO pair the engine may recreate it; for a REMOTE pair it means the user deleted their own calendar, which propagates inward. -
PAUSED
Synchronisation is suspended and will not resume on its own. Set on repeated failure, and immediately on an authentication rejection — a stale password must never be retried in a loop against a server that may lock the account. -
LOCALLY_DELETED
The local calendar is gone and the remote collection has not been dealt with yet. The tombstone that keeps a deletion recoverable instead of silently forgotten. -
EXO_ORPHANED
An EXO pair whose local calendar no longer exists while its remote collection does, and which no deletion accounted for. Surfaced rather than cleaned up automatically: something disagreed, and guessing which side is right is how data gets destroyed. -
DELETING
A deletion is in flight. Set before the remote call and cleared after, so an interrupted deletion is visible as unfinished rather than indistinguishable from one that never started. -
HIDDEN_SHARE
The user hid a calendar somebody shared with them (EXO-90239).The one pair that never had an eXo calendar behind it and never will: a share is not materialised (
CaldavSyncService#skipShare), and before this state existed it therefore had no pair at all — which is exactly why it could not be hidden, since being unbound is what puts a collection under the remote calendars and serves its events. The pair records the user's choice under the origin the collection has to the engine,SyncOrigin.REMOTE— somebody made it on the server, eXo owns nothing of it — with an anchor derived from its path rather than a calendar's (CaldavDeletionService#hiddenShareAnchor: the pair table's unique index would refuse a second null anchor on Oracle and SQL Server), and every consumer that acts on a pair leaves it alone: the sweep reads onlyACTIVEpairs, the outbound half binds by agenda's own anchors, the orphan pruning drops onlyACTIVEpairs, and the states worth telling the user about do not include it. What it does do, by being a binding at all, is keep the collection out of the calendar list and its events unserved, and keep materialisation from ever considering it — the same mechanism that makes aLOCALLY_DELETEDtombstone stick. Lifted by deleting the pair: nothing has to be synchronised for the share to be listed again. -
RETIRED_SUBSCRIPTION
A calendar materialised from a collection the user only subscribed to — a BlueMind resource, a colleague's calendar — before the server's naming was read, and retired since (EXO-90275).Inert, and that is the whole of its meaning: nothing is read from the collection and nothing is written to it through this binding, not an import, not a push, not a removal, not the cleanup a move leaves behind. The sweep reads only
ACTIVEpairs and the push writes only through them; the lookups that resolve a copy by its mapping whatever the binding's state (CaldavPushService#objectAnywhere,#mappingElsewhere,CaldavEventPropagationService#collectHolders) skip this one by name; and a reconnection thawsPAUSEDalone, so it cannot be woken up. The eXo calendar and its events are kept untouched — eXo cannot tell the copies in it from events the user made there, since agenda lists a calendar's events only by date window and confirmed status — and the state is told to the user, who deletes that calendar. Its binding is then dropped by the orphan pruning, once agenda has really deleted the calendar — the deletion dialog claims nothing about it and leaves it alone — and the collection is listed read-only under "Shared with me".
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-