Package ai.confiqure

Annotation Type Confiqure.SectionGate

Enclosing class:
Confiqure

@Target(FIELD) @Retention(RUNTIME) public static @interface Confiqure.SectionGate
Declarative flow gate on a whole nested section: ANY write at or under this field's path is only permitted while the requires() predicate is true over the root instance's current values. Use it to lock an entire sub-object (e.g. a whole billingDetails block) behind a prerequisite, instead of repeating Confiqure.Gate on every leaf. Predicate grammar and semantics are identical to Confiqure.Gate.
 @Confiqure.SectionGate(requires = "userAcceptedLegalTermsRisks == true",
                        message  = "Accept the terms first, then we can set up your product interests.")
 private InterestedProductCategories interestedProductCategories;
 
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Predicate (see Confiqure.Gate) that must hold before any field at or under this path may be written.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Optional coaching shown to the conversation when the section gate blocks a write.
  • Element Details

    • requires

      String requires
      Predicate (see Confiqure.Gate) that must hold before any field at or under this path may be written.
    • message

      String message
      Optional coaching shown to the conversation when the section gate blocks a write. Defaults to the predicate text.
      Default:
      ""