Annotation Interface ExclusiveOptionals


@Target(TYPE) @Retention(RUNTIME) @Documented @MinMuleVersion("4.5.0") public @interface ExclusiveOptionals
This annotation marks that all the Optional Parameters contained in the annotated class have an exclusive relationship among each other. The exclusive relation stands for "from all the parameters declared in this class, only one can be present at any time" This annotation doesn't override the optionality of the Parameters. The required parameter will remain required and the exclusivity condition imposed by this annotation would not affect them. If the case is given in which one of the Optional Parameters must be present (no matter which one), then isOneRequired() must be set to true.
Since:
1.0
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Enforces that one of the parameters must be set at any given time
  • Element Details

    • isOneRequired

      boolean isOneRequired
      Enforces that one of the parameters must be set at any given time
      Default:
      false