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

com.harrys.hyppo.client.v1.error.InvalidHyppoRequest Maven / Gradle / Ivy

The newest version!
package com.harrys.hyppo.client.v1.error;

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

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * Created by jpetty on 12/21/15.
 */
public final class InvalidHyppoRequest extends HyppoClientException {

    @JsonProperty("messages")
    private final List messages;

    @JsonCreator
    public InvalidHyppoRequest(
            @JsonProperty("messages") final List messages
    ){
        this.messages = new ArrayList<>(messages);
    }

    public InvalidHyppoRequest(final String message){
        this.messages = new ArrayList<>(1);
        this.messages.add(message);
    }

    private InvalidHyppoRequest(Builder builder) {
        this(new ArrayList(builder.messages));
    }

    public final List getMessages(){
        return this.messages;
    }

    @Override
    public final String toString(){
        return this.getClass().getName() + " - " + messages.stream().collect(Collectors.joining(", "));
    }

    public static Builder newBuilder() {
        return new Builder();
    }

    public static final class Builder {
        private List messages = new ArrayList<>();

        private Builder() {
        }

        public Builder withMessages(List val) {
            messages = val;
            return this;
        }

        public Builder addMessage(final String message){
            messages.add(message);
            return this;
        }

        public InvalidHyppoRequest build() {
            return new InvalidHyppoRequest(this);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy