# Overview of annotations

An overview of the annotations available to us during development.

# @Component

package com.elo.flows.api.components.annotations;
public abstract @interface Component {
    public abstract java.lang.String namespace();
    public abstract java.lang.String name();
    public abstract java.lang.String version();
    public abstract java.lang.String displayName();
    public abstract java.lang.String iconUri() default "/assets/icon.png";
    public abstract java.lang.String description() default "";
}
Name Description
namespace Namespace (package in project).
name Component name.
version Current version.
displayName Display name that is shown in the ELO Flows administration area.
iconUri Path to the component icon, default /assets/icon.png.
description Brief description of the component shown when the component is selected. More information is entered via the annotation @Guide in the component.

# @Service

The service provided in a component.

package com.elo.flows.api.components.annotations;
public abstract @interface Service {
    public abstract java.lang.String name() default "";
    public abstract java.lang.String displayName() default "";
    public abstract java.lang.String description() default "";
}
Name Description
name Name of service.
displayName Display name that is shown in the ELO Flows administration area.
description Short name of the service shown when the service is selected. More information is entered via the annotation @Guide in the service.

# @Trigger, @WebHook

Trigger that can be used to start a flow.

package com.elo.flows.api.components.annotations;
public abstract @interface Trigger {
    public abstract java.lang.String name() default "";
    public abstract java.lang.String displayName() default "";
    public abstract java.lang.String description() default "";
}
package com.elo.flows.api.components.annotations;
    public abstract @interface WebHook {
    public abstract java.lang.String endpoint() default "";
}
Name Description @Trigger
name Name of the trigger.
displayName Display name that is shown in the ELO Flows administration area.
description Short name of the trigger shown when the trigger is selected. More information is entered via the annotation @Guide in the trigger.
Name Description @WebHook
endpoint Identifier for the call.

# @Config

Used in a trigger (trigger method) as a parameter. Indicates that configurations can be made in the trigger on the Settings tab.

package com.elo.flows.api.components.annotations;
public abstract @interface Config {
}

# @Synchron

Indicates a synchronous trigger.

package com.elo.flows.api.components.annotations;
public abstract @interface Synchron {
  public abstract  java.lang.Class<? extends java.lang.Object>[] resultClasses() default {};
}

# @Guide

Enables integration of information files in markdown format.

package com.elo.flows.api.components.annotations;
public abstract @interface Guide {
    public abstract java.lang.String value();
}

# @Property

Field on the Settings tab.

package com.elo.flows.api.schema.annotations;
public abstract @interface Property {
    public abstract java.lang.String displayName() default "";
    public abstract java.lang.String description() default "";
    public abstract boolean required() default false;
}
Name Description
displayName Display name that is shown in the ELO Flows administration area.
description Brief description of the input field shown next to the (i) as a tooltip.
required Indicates whether the field is mandatory.

# @DisplayOptions

Additional configuration options for input fields.

package com.elo.flows.api.schema.annotations;
public abstract @interface DisplayOptions {
    public abstract int size() default (int) 1;
    public abstract int order() default (int) 2147483647;
    public abstract boolean hidden() default false;
    public abstract boolean suggestValue() default false;
}
Name Description
size Size of the input field.
order In case of multiple input fields in a group, you can choose an order for display.
hidden A field can be marked as hidden.
suggestValue The value of the @Property variables is automatically applied to the input field.

# @Lookup

Suggestions tab in the input field. Used with the @Property annotation. You also have to make sure that a method is implemented via the annotation @LookupProvider that provides the content for the suggestions.

package com.elo.flows.api.schema.annotations;
public abstract @interface Lookup {
    public abstract java.lang.String value();
}

# @LookupProvider

Suggestions in the input field. Used in combination with the @Lookup annotation.

package com.elo.flows.api.components.annotations;
public abstract @interface LookupProvider {
    public abstract java.lang.String value();
}

# @Connection

ELO Indexserver connection.

package com.elo.flows.api.components.annotations;
public abstract @interface Connection {
    public abstract java.lang.Class<?> provider() default java.lang.Void;
}

# @ConnectionRequired

Used with @Connection, for example if the connection to the ELO Indexserver is used in a method.

package com.elo.flows.api.components.annotations;
    public abstract @interface ConnectionRequired {
}

# @PropertyGroups, PropertyGroup, PropertyGroupRef

The annotations are used to combine the different services into groups on the Services tab.

package com.elo.flows.api.schema.annotations;
public abstract @interface PropertyGroups {
    public abstract com.elo.flows.api.schema.annotations.PropertyGroup[] value();
}
package com.elo.flows.api.schema.annotations;
public abstract @interface PropertyGroup {
    public abstract java.lang.String displayName();
    public abstract java.lang.String name();
    public abstract boolean collapsed() default false;
    public abstract java.lang.String description() default "";
    public abstract int order() default (int) 2147483647;
}
Name Description
displayName Display name that is shown in the ELO Flows administration area.
name Group name.
collapsed This group can be opened when making a selection.
description Brief description of the group. Shown next to the group name when the group is open.
order If there are multiple settings in the group, you can determine the order.
package com.elo.flows.api.schema.annotations;
public abstract @interface PropertyGroupRef {
    public abstract java.lang.String value();
}
Last updated: April 27, 2022 at 1:46 PM