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

com.sap.cloud.alert.notification.client.model.configuration.Configuration Maven / Gradle / Ivy

Go to download

Means for out-of-the-box events management in SAP Alert Notification service for SAP BTP service.

There is a newer version: 1.11.0
Show newest version
package com.sap.cloud.alert.notification.client.model.configuration;

import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.EqualsAndHashCode;
import lombok.ToString;


import static java.util.Collections.unmodifiableSet;
import static org.apache.commons.collections4.CollectionUtils.emptyIfNull;

@ToString(doNotUseGetters = true)
@EqualsAndHashCode(doNotUseGetters = true)
public class Configuration {

    private final Set actions;
    private final Set conditions;
    private final Set subscriptions;

    @JsonCreator
    public Configuration( //
            @JsonProperty("actions") Collection actions, //
            @JsonProperty("conditions") Collection conditions, //
            @JsonProperty("subscriptions") Collection subscriptions //
    ) {
        this.actions = new HashSet<>(emptyIfNull(actions));
        this.conditions = new HashSet<>(emptyIfNull(conditions));
        this.subscriptions = new HashSet<>(emptyIfNull(subscriptions));
    }

    @JsonProperty("actions")
    public Set getActions() {
        return unmodifiableSet(actions);
    }

    @JsonProperty("conditions")
    public Set getConditions() {
        return unmodifiableSet(conditions);
    }

    @JsonProperty("subscriptions")
    public Set getSubscriptions() {
        return unmodifiableSet(subscriptions);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy