
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 service Show documentation
Show all versions of 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