Enum Class ServerQuirkEffect

java.lang.Object
java.lang.Enum<ServerQuirkEffect>
org.exoplatform.caldav.model.ServerQuirkEffect
All Implemented Interfaces:
Serializable, Comparable<ServerQuirkEffect>, Constable

public enum ServerQuirkEffect extends Enum<ServerQuirkEffect>
What ticking a quirk actually does — and the two answers are not the same kind of thing.

Why this is declared rather than inferred. Every quirk reads, in the drawer, as one more box beside the others. Most of them only change what eXo notices; one changes what eXo writes into somebody's calendar. An administrator has to be able to tell those apart at the moment they tick, not a year later when they wonder why a copy on that server carries no organizer. So the difference is a property of the catalogue entry, it decides which stored list the tick is written into, and the drawer renders it.

  • Enum Constant Details

    • TOLERATE

      public static final ServerQuirkEffect TOLERATE
      eXo goes on writing exactly what it writes today and stops treating one kind of divergence as evidence that somebody rewrote the copy.

      Reversible with no trace: unticking it makes the next sweep report the divergence again, and nothing on any server changed in the meantime. What it costs is stated per entry — always some form of "eXo will no longer notice X".

    • OMIT

      public static final ServerQuirkEffect OMIT
      eXo stops putting something into the copies it writes to this server.

      This one alters stored data. The next push, and the next repair, write a document that says less than the one before it, in a calendar somebody else reads. Unticking it puts the property back, but only on the copies written after that — nothing goes back and repairs the ones written meanwhile until the ordinary sweep next touches them.

      It usually needs no TOLERATE entry beside it, and that is worth checking rather than assuming: when eXo stops writing the property, the copy and the render agree and there is no divergence left to excuse. Shipping both would be excusing a difference that no longer exists — and an excusal that outlives its reason is exactly the kind of thing that silently hides the next real defect.

  • Method Details

    • values

      public static ServerQuirkEffect[] 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

      public static ServerQuirkEffect valueOf(String name)
      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 name
      NullPointerException - if the argument is null