Interface AroundPropertyHook

All Superinterfaces:
LifecycleHook
All Known Implementing Classes:
PerProperty.PerPropertyHook, PropertyDefaults.PropertyDefaultsHook
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@API(status=MAINTAINED, since="1.4.0") @FunctionalInterface public interface AroundPropertyHook extends LifecycleHook
Implement this hook to define behaviour that should "wrap" the execution of a property, i.e., do something directly before or after running a property - or both. You can even change the result of a property from successful to failed or the other way round.
  • Field Details

  • Method Details

    • aroundProperty

      When you wrap a property you can do stuff before and/or after its execution. All implementors should invoke the property with property.execute() and either return the result of this call or map it to another result.
      Parameters:
      context - The property's context object
      property - An executor to run the property
      Returns:
      The result of running the property
      Throws:
      Throwable - any throwable could show up in hook implementation
    • aroundPropertyProximity

      default int aroundPropertyProximity()
      The higher the value, the closer to the actual property method. Default value is 0.

      Values greater than -10 will make it run "inside" annotated lifecycle methods (BeforeProperty and AfterProperty).

      Returns:
      an integer value
    • compareTo

      @API(status=INTERNAL) default int compareTo(AroundPropertyHook other)