All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.miragon.miranum.connect.elementtemplate.c8.schema.Binding Maven / Gradle / Ivy

package io.miragon.miranum.connect.elementtemplate.c8.schema;

import com.fasterxml.jackson.annotation.*;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.HashMap;
import java.util.Map;

/**
 * property binding
 * 

* Specifying how the property is mapped to BPMN or Zeebe extension elements and attributes */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "type", "name", "source", "key" }) @Accessors(chain = true) @Getter @Setter @ToString @EqualsAndHashCode public class Binding { /** * binding type *

* The type of a property binding * (Required) */ @JsonProperty("type") @JsonPropertyDescription("The type of a property binding") private Binding.Type type; /** * binding name *

* The name of a property binding */ @JsonProperty("name") @JsonPropertyDescription("The name of a property binding") private String name; /** * binding source *

* The source value of a property binding (zeebe:output) */ @JsonProperty("source") @JsonPropertyDescription("The source value of a property binding (zeebe:output)") private String source; /** * binding key *

* The key value of a property binding (zeebe:taskHeader) */ @JsonProperty("key") @JsonPropertyDescription("The key value of a property binding (zeebe:taskHeader)") private String key; /** * property binding type *

* The type of the property binding */ public enum Type { PROPERTY("property"), ZEEBE_TASKDEFINITION_TYPE("zeebe:taskDefinition:type"), ZEEBE_TASKDEFINITION_RETRIES("zeebe:taskDefinition:retries"), ZEEBE_INPUT("zeebe:input"), ZEEBE_OUTPUT("zeebe:output"), ZEEBE_PROPERTY("zeebe:property"), ZEEBE_TASKHEADER("zeebe:taskHeader"); private final String value; private final static Map CONSTANTS = new HashMap<>(); static { for (Binding.Type c : values()) { CONSTANTS.put(c.value, c); } } Type(String value) { this.value = value; } @Override public String toString() { return this.value; } @JsonValue public String value() { return this.value; } @JsonCreator public static Binding.Type fromValue(String value) { Binding.Type constant = CONSTANTS.get(value); if (constant == null) { throw new IllegalArgumentException(value); } else { return constant; } } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy