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

uk.gov.justice.laa.crime.common.model.tracking.MeansAssessment Maven / Gradle / Ivy


package uk.gov.justice.laa.crime.common.model.tracking;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.annotation.processing.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonValue;
import jakarta.validation.Valid;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "means_assessment_id",
    "means_assessment_type",
    "means_assessment_status",
    "means_assessment_result",
    "means_assessor_name",
    "means_assessment_created_date"
})
@Generated("jsonschema2pojo")
public class MeansAssessment {

    @JsonProperty("means_assessment_id")
    private Integer meansAssessmentId;
    @JsonProperty("means_assessment_type")
    private MeansAssessment.MeansAssessmentType meansAssessmentType;
    @JsonProperty("means_assessment_status")
    private String meansAssessmentStatus;
    @JsonProperty("means_assessment_result")
    private MeansAssessment.MeansAssessmentResult meansAssessmentResult;
    @JsonProperty("means_assessor_name")
    private String meansAssessorName;
    /**
     * Date of Means Assessment created
     * 
     */
    @JsonProperty("means_assessment_created_date")
    @JsonPropertyDescription("Date of Means Assessment created")
    private LocalDateTime meansAssessmentCreatedDate;
    @JsonIgnore
    @Valid
    private Map additionalProperties = new LinkedHashMap();
    protected final static Object NOT_FOUND_VALUE = new Object();

    /**
     * No args constructor for use in serialization
     * 
     */
    public MeansAssessment() {
    }

    /**
     * 
     * @param meansAssessmentType
     * @param meansAssessmentResult
     * @param meansAssessorName
     * @param meansAssessmentCreatedDate
     * @param meansAssessmentStatus
     * @param meansAssessmentId
     */
    public MeansAssessment(Integer meansAssessmentId, MeansAssessment.MeansAssessmentType meansAssessmentType, String meansAssessmentStatus, MeansAssessment.MeansAssessmentResult meansAssessmentResult, String meansAssessorName, LocalDateTime meansAssessmentCreatedDate) {
        super();
        this.meansAssessmentId = meansAssessmentId;
        this.meansAssessmentType = meansAssessmentType;
        this.meansAssessmentStatus = meansAssessmentStatus;
        this.meansAssessmentResult = meansAssessmentResult;
        this.meansAssessorName = meansAssessorName;
        this.meansAssessmentCreatedDate = meansAssessmentCreatedDate;
    }

    @JsonProperty("means_assessment_id")
    public Integer getMeansAssessmentId() {
        return meansAssessmentId;
    }

    @JsonProperty("means_assessment_id")
    public void setMeansAssessmentId(Integer meansAssessmentId) {
        this.meansAssessmentId = meansAssessmentId;
    }

    public MeansAssessment withMeansAssessmentId(Integer meansAssessmentId) {
        this.meansAssessmentId = meansAssessmentId;
        return this;
    }

    @JsonProperty("means_assessment_type")
    public MeansAssessment.MeansAssessmentType getMeansAssessmentType() {
        return meansAssessmentType;
    }

    @JsonProperty("means_assessment_type")
    public void setMeansAssessmentType(MeansAssessment.MeansAssessmentType meansAssessmentType) {
        this.meansAssessmentType = meansAssessmentType;
    }

    public MeansAssessment withMeansAssessmentType(MeansAssessment.MeansAssessmentType meansAssessmentType) {
        this.meansAssessmentType = meansAssessmentType;
        return this;
    }

    @JsonProperty("means_assessment_status")
    public String getMeansAssessmentStatus() {
        return meansAssessmentStatus;
    }

    @JsonProperty("means_assessment_status")
    public void setMeansAssessmentStatus(String meansAssessmentStatus) {
        this.meansAssessmentStatus = meansAssessmentStatus;
    }

    public MeansAssessment withMeansAssessmentStatus(String meansAssessmentStatus) {
        this.meansAssessmentStatus = meansAssessmentStatus;
        return this;
    }

    @JsonProperty("means_assessment_result")
    public MeansAssessment.MeansAssessmentResult getMeansAssessmentResult() {
        return meansAssessmentResult;
    }

    @JsonProperty("means_assessment_result")
    public void setMeansAssessmentResult(MeansAssessment.MeansAssessmentResult meansAssessmentResult) {
        this.meansAssessmentResult = meansAssessmentResult;
    }

    public MeansAssessment withMeansAssessmentResult(MeansAssessment.MeansAssessmentResult meansAssessmentResult) {
        this.meansAssessmentResult = meansAssessmentResult;
        return this;
    }

    @JsonProperty("means_assessor_name")
    public String getMeansAssessorName() {
        return meansAssessorName;
    }

    @JsonProperty("means_assessor_name")
    public void setMeansAssessorName(String meansAssessorName) {
        this.meansAssessorName = meansAssessorName;
    }

    public MeansAssessment withMeansAssessorName(String meansAssessorName) {
        this.meansAssessorName = meansAssessorName;
        return this;
    }

    /**
     * Date of Means Assessment created
     * 
     */
    @JsonProperty("means_assessment_created_date")
    public LocalDateTime getMeansAssessmentCreatedDate() {
        return meansAssessmentCreatedDate;
    }

    /**
     * Date of Means Assessment created
     * 
     */
    @JsonProperty("means_assessment_created_date")
    public void setMeansAssessmentCreatedDate(LocalDateTime meansAssessmentCreatedDate) {
        this.meansAssessmentCreatedDate = meansAssessmentCreatedDate;
    }

    public MeansAssessment withMeansAssessmentCreatedDate(LocalDateTime meansAssessmentCreatedDate) {
        this.meansAssessmentCreatedDate = meansAssessmentCreatedDate;
        return this;
    }

    @JsonAnyGetter
    public Map getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

    public MeansAssessment withAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
        return this;
    }

    protected boolean declaredProperty(String name, Object value) {
        if ("means_assessment_id".equals(name)) {
            if (value instanceof Integer) {
                setMeansAssessmentId(((Integer) value));
            } else {
                throw new IllegalArgumentException(("property \"means_assessment_id\" is of type \"java.lang.Integer\", but got "+ value.getClass().toString()));
            }
            return true;
        } else {
            if ("means_assessment_type".equals(name)) {
                if (value instanceof MeansAssessment.MeansAssessmentType) {
                    setMeansAssessmentType(((MeansAssessment.MeansAssessmentType) value));
                } else {
                    throw new IllegalArgumentException(("property \"means_assessment_type\" is of type \"uk.gov.justice.laa.crime.common.model.tracking.MeansAssessment.MeansAssessmentType\", but got "+ value.getClass().toString()));
                }
                return true;
            } else {
                if ("means_assessment_status".equals(name)) {
                    if (value instanceof String) {
                        setMeansAssessmentStatus(((String) value));
                    } else {
                        throw new IllegalArgumentException(("property \"means_assessment_status\" is of type \"java.lang.String\", but got "+ value.getClass().toString()));
                    }
                    return true;
                } else {
                    if ("means_assessment_result".equals(name)) {
                        if (value instanceof MeansAssessment.MeansAssessmentResult) {
                            setMeansAssessmentResult(((MeansAssessment.MeansAssessmentResult) value));
                        } else {
                            throw new IllegalArgumentException(("property \"means_assessment_result\" is of type \"uk.gov.justice.laa.crime.common.model.tracking.MeansAssessment.MeansAssessmentResult\", but got "+ value.getClass().toString()));
                        }
                        return true;
                    } else {
                        if ("means_assessor_name".equals(name)) {
                            if (value instanceof String) {
                                setMeansAssessorName(((String) value));
                            } else {
                                throw new IllegalArgumentException(("property \"means_assessor_name\" is of type \"java.lang.String\", but got "+ value.getClass().toString()));
                            }
                            return true;
                        } else {
                            if ("means_assessment_created_date".equals(name)) {
                                if (value instanceof LocalDateTime) {
                                    setMeansAssessmentCreatedDate(((LocalDateTime) value));
                                } else {
                                    throw new IllegalArgumentException(("property \"means_assessment_created_date\" is of type \"java.time.LocalDateTime\", but got "+ value.getClass().toString()));
                                }
                                return true;
                            } else {
                                return false;
                            }
                        }
                    }
                }
            }
        }
    }

    protected Object declaredPropertyOrNotFound(String name, Object notFoundValue) {
        if ("means_assessment_id".equals(name)) {
            return getMeansAssessmentId();
        } else {
            if ("means_assessment_type".equals(name)) {
                return getMeansAssessmentType();
            } else {
                if ("means_assessment_status".equals(name)) {
                    return getMeansAssessmentStatus();
                } else {
                    if ("means_assessment_result".equals(name)) {
                        return getMeansAssessmentResult();
                    } else {
                        if ("means_assessor_name".equals(name)) {
                            return getMeansAssessorName();
                        } else {
                            if ("means_assessment_created_date".equals(name)) {
                                return getMeansAssessmentCreatedDate();
                            } else {
                                return notFoundValue;
                            }
                        }
                    }
                }
            }
        }
    }

    @SuppressWarnings({
        "unchecked"
    })
    publicT get(String name) {
        Object value = declaredPropertyOrNotFound(name, MeansAssessment.NOT_FOUND_VALUE);
        if (MeansAssessment.NOT_FOUND_VALUE!= value) {
            return ((T) value);
        } else {
            return ((T) getAdditionalProperties().get(name));
        }
    }

    public void set(String name, Object value) {
        if (!declaredProperty(name, value)) {
            getAdditionalProperties().put(name, ((Object) value));
        }
    }

    public MeansAssessment with(String name, Object value) {
        if (!declaredProperty(name, value)) {
            getAdditionalProperties().put(name, ((Object) value));
        }
        return this;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(MeansAssessment.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
        sb.append("meansAssessmentId");
        sb.append('=');
        sb.append(((this.meansAssessmentId == null)?"":this.meansAssessmentId));
        sb.append(',');
        sb.append("meansAssessmentType");
        sb.append('=');
        sb.append(((this.meansAssessmentType == null)?"":this.meansAssessmentType));
        sb.append(',');
        sb.append("meansAssessmentStatus");
        sb.append('=');
        sb.append(((this.meansAssessmentStatus == null)?"":this.meansAssessmentStatus));
        sb.append(',');
        sb.append("meansAssessmentResult");
        sb.append('=');
        sb.append(((this.meansAssessmentResult == null)?"":this.meansAssessmentResult));
        sb.append(',');
        sb.append("meansAssessorName");
        sb.append('=');
        sb.append(((this.meansAssessorName == null)?"":this.meansAssessorName));
        sb.append(',');
        sb.append("meansAssessmentCreatedDate");
        sb.append('=');
        sb.append(((this.meansAssessmentCreatedDate == null)?"":this.meansAssessmentCreatedDate));
        sb.append(',');
        sb.append("additionalProperties");
        sb.append('=');
        sb.append(((this.additionalProperties == null)?"":this.additionalProperties));
        sb.append(',');
        if (sb.charAt((sb.length()- 1)) == ',') {
            sb.setCharAt((sb.length()- 1), ']');
        } else {
            sb.append(']');
        }
        return sb.toString();
    }

    @Override
    public int hashCode() {
        int result = 1;
        result = ((result* 31)+((this.meansAssessmentType == null)? 0 :this.meansAssessmentType.hashCode()));
        result = ((result* 31)+((this.meansAssessmentResult == null)? 0 :this.meansAssessmentResult.hashCode()));
        result = ((result* 31)+((this.meansAssessorName == null)? 0 :this.meansAssessorName.hashCode()));
        result = ((result* 31)+((this.meansAssessmentCreatedDate == null)? 0 :this.meansAssessmentCreatedDate.hashCode()));
        result = ((result* 31)+((this.meansAssessmentStatus == null)? 0 :this.meansAssessmentStatus.hashCode()));
        result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode()));
        result = ((result* 31)+((this.meansAssessmentId == null)? 0 :this.meansAssessmentId.hashCode()));
        return result;
    }

    @Override
    public boolean equals(Object other) {
        if (other == this) {
            return true;
        }
        if ((other instanceof MeansAssessment) == false) {
            return false;
        }
        MeansAssessment rhs = ((MeansAssessment) other);
        return ((((((((this.meansAssessmentType == rhs.meansAssessmentType)||((this.meansAssessmentType!= null)&&this.meansAssessmentType.equals(rhs.meansAssessmentType)))&&((this.meansAssessmentResult == rhs.meansAssessmentResult)||((this.meansAssessmentResult!= null)&&this.meansAssessmentResult.equals(rhs.meansAssessmentResult))))&&((this.meansAssessorName == rhs.meansAssessorName)||((this.meansAssessorName!= null)&&this.meansAssessorName.equals(rhs.meansAssessorName))))&&((this.meansAssessmentCreatedDate == rhs.meansAssessmentCreatedDate)||((this.meansAssessmentCreatedDate!= null)&&this.meansAssessmentCreatedDate.equals(rhs.meansAssessmentCreatedDate))))&&((this.meansAssessmentStatus == rhs.meansAssessmentStatus)||((this.meansAssessmentStatus!= null)&&this.meansAssessmentStatus.equals(rhs.meansAssessmentStatus))))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))))&&((this.meansAssessmentId == rhs.meansAssessmentId)||((this.meansAssessmentId!= null)&&this.meansAssessmentId.equals(rhs.meansAssessmentId))));
    }

    @Generated("jsonschema2pojo")
    public enum MeansAssessmentResult {

        FULL("FULL"),
        PASS("PASS"),
        FAIL("FAIL"),
        HARDSHIP_APPLICATION("HARDSHIP APPLICATION"),
        INEL("INEL");
        private final String value;
        private final static Map CONSTANTS = new HashMap();

        static {
            for (MeansAssessment.MeansAssessmentResult c: values()) {
                CONSTANTS.put(c.value, c);
            }
        }

        MeansAssessmentResult(String value) {
            this.value = value;
        }

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

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

        @JsonCreator
        public static MeansAssessment.MeansAssessmentResult fromValue(String value) {
            MeansAssessment.MeansAssessmentResult constant = CONSTANTS.get(value);
            if (constant == null) {
                throw new IllegalArgumentException(value);
            } else {
                return constant;
            }
        }

    }

    @Generated("jsonschema2pojo")
    public enum MeansAssessmentType {

        MEANS_INIT("MEANS_INIT"),
        MEANS_FULL("MEANS_FULL");
        private final String value;
        private final static Map CONSTANTS = new HashMap();

        static {
            for (MeansAssessment.MeansAssessmentType c: values()) {
                CONSTANTS.put(c.value, c);
            }
        }

        MeansAssessmentType(String value) {
            this.value = value;
        }

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

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

        @JsonCreator
        public static MeansAssessment.MeansAssessmentType fromValue(String value) {
            MeansAssessment.MeansAssessmentType constant = CONSTANTS.get(value);
            if (constant == null) {
                throw new IllegalArgumentException(value);
            } else {
                return constant;
            }
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy