Annotation Type Delegate


  • @Documented
    @Retention(RUNTIME)
    @Target(METHOD)
    @Inherited
    public @interface Delegate
    A delegate can execute either: - a control task on a ConfigurationItem, to perform some action. - a creator method when creating a ConfigurationItem

    A @Delegate method should adhere to the following rules:

    • For Control Task:
      • The constructor of the object should take no arguments
      • The method should take the following 3 parameters:
        1. A ConfigurationItem (The item the method is invoked on).
        2. A String (the name of the method invoked).
        3. A Map<String, String> (The attributes of the method invoked).
      • The method should return a List<Step>
    • For Creator:
      • The method should be static
      • The method should take the following 1 or 2 parameters:
        1. A CreatorContext.
        2. Optional: A Map<String, String> (The attributes of the method invoked).
      • The method should return void.
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String name  
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      Delegate.Use use  
    • Element Detail

      • name

        java.lang.String name
      • use

        Delegate.Use use
        Default:
        com.xebialabs.deployit.plugin.api.udm.Delegate.Use.CONTROL_TASK