
no.mnemonic.services.triggers.service.dao.TriggerActionDefinitionEntity Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of triggers-service Show documentation
Show all versions of triggers-service Show documentation
Implementation of the service logic
The newest version!
package no.mnemonic.services.triggers.service.dao;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
import no.mnemonic.commons.utilities.ObjectUtils;
import no.mnemonic.commons.utilities.collections.MapUtils;
import java.util.Collections;
import java.util.Map;
import java.util.UUID;
@JsonDeserialize(builder = TriggerActionDefinitionEntity.Builder.class)
public class TriggerActionDefinitionEntity {
private final UUID id;
private final String name;
private final String description;
private final String triggerActionClass;
private final String requiredPermission;
private final Map initParameters;
private final Map triggerParameters;
private TriggerActionDefinitionEntity(UUID id, String name, String description, String triggerActionClass, String requiredPermission,
Map initParameters, Map triggerParameters) {
this.id = ObjectUtils.notNull(id, "'id' is required!");
this.name = ObjectUtils.notNull(name, "'name' is required!");
this.description = ObjectUtils.notNull(description, "'description' is required!");
this.triggerActionClass = ObjectUtils.notNull(triggerActionClass, "'triggerActionClass' is required!");
this.requiredPermission = ObjectUtils.notNull(requiredPermission, "'requiredPermission' is required!");
this.initParameters = ObjectUtils.ifNotNull(initParameters, Collections::unmodifiableMap);
this.triggerParameters = ObjectUtils.ifNotNull(triggerParameters, Collections::unmodifiableMap);
}
public UUID getId() {
return id;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public String getTriggerActionClass() {
return triggerActionClass;
}
public String getRequiredPermission() {
return requiredPermission;
}
public Map getInitParameters() {
return initParameters;
}
public Map getTriggerParameters() {
return triggerParameters;
}
public static Builder builder() {
return new Builder();
}
@JsonPOJOBuilder(withPrefix = "set")
public static class Builder {
private UUID id;
private String name;
private String description;
private String triggerActionClass;
private String requiredPermission;
private Map initParameters;
private Map triggerParameters;
private Builder() {
}
public TriggerActionDefinitionEntity build() {
return new TriggerActionDefinitionEntity(id, name, description, triggerActionClass, requiredPermission, initParameters, triggerParameters);
}
public Builder setId(UUID id) {
this.id = id;
return this;
}
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setDescription(String description) {
this.description = description;
return this;
}
public Builder setTriggerActionClass(String triggerActionClass) {
this.triggerActionClass = triggerActionClass;
return this;
}
public Builder setRequiredPermission(String requiredPermission) {
this.requiredPermission = requiredPermission;
return this;
}
public Builder setInitParameters(Map initParameters) {
this.initParameters = initParameters;
return this;
}
public Builder addInitParameter(String parameterName, String parameterValue) {
this.initParameters = MapUtils.addToMap(this.initParameters, parameterName, parameterValue);
return this;
}
public Builder setTriggerParameters(Map triggerParameters) {
this.triggerParameters = triggerParameters;
return this;
}
public Builder addTriggerParameter(String parameterName, ParameterDefinitionEntity parameterDefinition) {
this.triggerParameters = MapUtils.addToMap(this.triggerParameters, parameterName, parameterDefinition);
return this;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy