
package ru.yandex.autotests.mediaplan.datacontainersauto.api5_bids;

import java.util.HashMap;
import java.util.Map;
import javax.annotation.Generated;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

@Generated("org.jsonschema2pojo")
public class Api5BidsArgs {

    @Expose
    private Method method;
    @SerializedName("params_api5_bids")
    @Expose
    private ParamsApi5Bids paramsApi5Bids;

    public Method getMethod() {
        return method;
    }

    public void setMethod(Method method) {
        this.method = method;
    }

    public Api5BidsArgs withMethod(Method method) {
        this.method = method;
        return this;
    }

    public ParamsApi5Bids getParamsApi5Bids() {
        return paramsApi5Bids;
    }

    public void setParamsApi5Bids(ParamsApi5Bids paramsApi5Bids) {
        this.paramsApi5Bids = paramsApi5Bids;
    }

    public Api5BidsArgs withParamsApi5Bids(ParamsApi5Bids paramsApi5Bids) {
        this.paramsApi5Bids = paramsApi5Bids;
        return this;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public boolean equals(Object other) {
        return EqualsBuilder.reflectionEquals(this, other);
    }

    @Generated("org.jsonschema2pojo")
    public static enum Method {

        SET_AUTO("setAuto");
        private final String value;
        private static Map<String, Method> constants = new HashMap<String, Method>();

        static {
            for (Method c: Method.values()) {
                constants.put(c.value, c);
            }
        }

        private Method(String value) {
            this.value = value;
        }

        @Override
        public String toString() {
            return this.value;
        }

        public static Method fromValue(String value) {
            Method constant = constants.get(value);
            if (constant == null) {
                throw new IllegalArgumentException(value);
            } else {
                return constant;
            }
        }

    }

}
