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

org.kiwiproject.consul.model.event.Event Maven / Gradle / Ivy

package org.kiwiproject.consul.model.event;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.immutables.value.Value;
import org.kiwiproject.consul.util.Base64EncodingDeserializer;

import java.util.Optional;

@Value.Immutable
@Value.Style(jakarta = true)
@JsonSerialize(as = ImmutableEvent.class)
@JsonDeserialize(as = ImmutableEvent.class)
public abstract class Event {

    @JsonProperty("ID")
    public abstract String getId();

    @JsonProperty("Name")
    public abstract String getName();

    @JsonProperty("Payload")
    @JsonDeserialize(using = Base64EncodingDeserializer.class)
    public abstract Optional getPayload();

    @JsonProperty("NodeFilter")
    public abstract Optional getNodeFilter();

    @JsonProperty("ServiceFilter")
    public abstract Optional getServiceFilter();

    @JsonProperty("TagFilter")
    public abstract Optional getTagFilter();

    @JsonProperty("Version")
    public abstract int getVersion();

    @JsonProperty("LTime")
    public abstract Long getLTime();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy