Enum Class EventVisibility
- All Implemented Interfaces:
Serializable,Comparable<EventVisibility>,Constable
This is not free/busy. EventAvailability says whether
an event takes the user's time; this says whether what the event is
may be shown. The two travel together in the form because they answer the two
halves of the same question, and they are honoured in two different places.
Where it is honoured today: the published calendar link, and only
there. A PRIVATE event is published as a busy block — its
time, and the word "Busy" — by CalendarFeedIcsWriter, through
AgendaCalendarLinkServiceImpl.isPrivate. Inside eXo it changes
nothing: everyone who may read the calendar still reads every event it holds,
exactly as before. Widening it to readers inside eXo would be a new ACL rule,
not a new value here, and is deliberately out of EXO-90322.
The constants are stored by ordinal (the column is a SMALLINT, as
AVAILABILITY is), so their order is the storage format:
a new value goes at the end, and none is ever removed or reordered.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum Constants -
Method Summary
Modifier and TypeMethodDescriptionstatic EventVisibilityReturns the enum constant of this class with the specified name.static EventVisibility[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
DEFAULT
Inherit. There is nothing to inherit from yet — agenda models no per-calendar visibility — so this resolves to "not masked", which is what every event did before EXO-90322 and therefore what every existing row means. It is ordinal 0 on purpose: the changeset backfills the column with 0, so no stored event changes meaning.Whether a per-calendar default is worth having is the PO's call; the day it exists, this constant is where it is read.
-
PUBLIC
The event's content may be published in full — the same treatmentDEFAULTgets today, stated rather than inherited. -
PRIVATE
Only the fact that the time is taken may leave eXo. A published feed shows a busy block with no title, description, location or attendee.
-
-
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
-