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

dev.soffa.foundation.model.Ack Maven / Gradle / Ivy

There is a newer version: 0.17.31
Show newest version
package dev.soffa.foundation.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

@Data
@NoArgsConstructor
@AllArgsConstructor
@SuppressWarnings("PMD.AvoidFieldNameMatchingMethodName")
public class Ack {

    public static final String OK_VALUE = "OK";
    public static final String KO_VALUE = "KO";
    public static final Ack OK = new Ack(OK_VALUE);
    public static final Ack KO = new Ack(KO_VALUE);

    private String status;
    private String message;
    private Map metadata;

    public Ack(String status) {
        this.status = status;
    }

    public Ack(String status, String message) {
        this.status = status;
        this.message = message;
    }

    public static Ack ko(String message) {
        return new Ack(KO_VALUE, message);
    }

    public static Ack ok(String message) {
        return new Ack(OK_VALUE, message);
    }

    @JsonIgnore
    public boolean isOK() {
        return OK_VALUE.equalsIgnoreCase(status);
    }

    @JsonIgnore
    public boolean isKO() {
        return KO_VALUE.equalsIgnoreCase(status);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy