Annotation ConditionalWingsEnabled

  • All Implemented Interfaces:
    java.lang.annotation.Annotation

    @Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.TYPE, ElementType.METHOD})@Documented()@Conditional(value = WingsEnabledCondition.class) 
    public @interface ConditionalWingsEnabled
    
                        
    enhanced `@Conditional(WingsEnabledCondition.class)` to dynamically
    disable `@Configuration`, `@Bean` and `@Component` by properties.
    
    `true` only if `this && and1 && and2 && !not1 && !not2`
    
    the key priority from high to low
    - qualified-key = `prefix` + `ClassName` + `methodName`?
    - absolute-key = `abs()`
    - relative-key = `prefix` + `key()`
    - default = `value()`
    
    Since:

    2023-11-17

    Author:

    trydofor

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract String abs() absolute-key, without prefix, priority lower then qualified-key
      abstract String key() relative-key, with prefix, priority lower then absolute-key
      abstract boolean value() default value, the lowest priority, if no property found
      abstract Array<Class<out Object>> and() narrow this and others properties (or annotation).
      abstract Array<Class<out Object>> not() narrow this and not others properties (or annotation).
      • Methods inherited from class java.lang.annotation.Annotation

        annotationType, equals, hashCode, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • abs

         abstract String abs()

        absolute-key, without prefix, priority lower then qualified-key

      • key

         abstract String key()

        relative-key, with prefix, priority lower then absolute-key

      • value

         abstract boolean value()

        default value, the lowest priority, if no property found

      • and

         abstract Array<Class<out Object>> and()

        narrow this and others properties (or annotation). true only if `this &&and1 &&and2 &&!not1 &&!not2`

      • not

         abstract Array<Class<out Object>> not()

        narrow this and not others properties (or annotation). true only if `this &&and1 &&and2 &&!not1 &&!not2`