// Code generated by jtd-codegen for Java + Jackson v0.2.1

package com.senzing.typedef;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.time.OffsetDateTime;
import java.util.List;

@JsonSerialize
public class RelatedEntity {
    @JsonProperty("ENTITY_ID")
    private Integer entityId;

    @JsonProperty("ENTITY_NAME")
    private String entityName;

    @JsonProperty("ERRULE_CODE")
    private String erruleCode;

    @JsonProperty("IS_AMBIGUOUS")
    private Integer isAmbiguous;

    @JsonProperty("IS_DISCLOSED")
    private Integer isDisclosed;

    @JsonProperty("MATCH_KEY")
    private String matchKey;

    @JsonProperty("MATCH_KEY_DETAILS")
    private MatchKeyDetails matchKeyDetails;

    @JsonProperty("MATCH_LEVEL")
    private Integer matchLevel;

    @JsonProperty("MATCH_LEVEL_CODE")
    private String matchLevelCode;

    @JsonProperty("RECORDS")
    private List<Record> records;

    @JsonProperty("RECORD_SUMMARY")
    private List<RecordSummary> recordSummary;

    @JsonProperty("RECORD_TYPES")
    private List<String> recordTypes;

    @JsonProperty("XXX_LAST_SEEN_DT")
    private OffsetDateTime xxxLastSeenDt;

    public RelatedEntity() {
    }

    /**
     * Getter for entityId.<p>
     * The ENTITY_ID is the Senzing-generated identifier for the discovered
     * entity. It may change when new information is added.
     */
    public Integer getEntityId() {
        return entityId;
    }

    /**
     * Setter for entityId.<p>
     * The ENTITY_ID is the Senzing-generated identifier for the discovered
     * entity. It may change when new information is added.
     */
    public void setEntityId(Integer entityId) {
        this.entityId = entityId;
    }

    /**
     * Getter for entityName.<p>
     * A name this entity goes by. An entity could have multiple names.
     */
    public String getEntityName() {
        return entityName;
    }

    /**
     * Setter for entityName.<p>
     * A name this entity goes by. An entity could have multiple names.
     */
    public void setEntityName(String entityName) {
        this.entityName = entityName;
    }

    /**
     * Getter for erruleCode.<p>
     * Identifier of the entity resolution rule that was triggered.
     */
    public String getErruleCode() {
        return erruleCode;
    }

    /**
     * Setter for erruleCode.<p>
     * Identifier of the entity resolution rule that was triggered.
     */
    public void setErruleCode(String erruleCode) {
        this.erruleCode = erruleCode;
    }

    /**
     * Getter for isAmbiguous.<p>
     * Indicates if this is an ambiguous relationship.
     */
    public Integer getIsAmbiguous() {
        return isAmbiguous;
    }

    /**
     * Setter for isAmbiguous.<p>
     * Indicates if this is an ambiguous relationship.
     */
    public void setIsAmbiguous(Integer isAmbiguous) {
        this.isAmbiguous = isAmbiguous;
    }

    /**
     * Getter for isDisclosed.<p>
     * Indicates if this is a disclosed relationship.
     */
    public Integer getIsDisclosed() {
        return isDisclosed;
    }

    /**
     * Setter for isDisclosed.<p>
     * Indicates if this is a disclosed relationship.
     */
    public void setIsDisclosed(Integer isDisclosed) {
        this.isDisclosed = isDisclosed;
    }

    /**
     * Getter for matchKey.<p>
     * Representation of matched source record features.
     */
    public String getMatchKey() {
        return matchKey;
    }

    /**
     * Setter for matchKey.<p>
     * Representation of matched source record features.
     */
    public void setMatchKey(String matchKey) {
        this.matchKey = matchKey;
    }

    /**
     * Getter for matchKeyDetails.<p>
     */
    public MatchKeyDetails getMatchKeyDetails() {
        return matchKeyDetails;
    }

    /**
     * Setter for matchKeyDetails.<p>
     */
    public void setMatchKeyDetails(MatchKeyDetails matchKeyDetails) {
        this.matchKeyDetails = matchKeyDetails;
    }

    /**
     * Getter for matchLevel.<p>
     */
    public Integer getMatchLevel() {
        return matchLevel;
    }

    /**
     * Setter for matchLevel.<p>
     */
    public void setMatchLevel(Integer matchLevel) {
        this.matchLevel = matchLevel;
    }

    /**
     * Getter for matchLevelCode.<p>
     * The type of match that occurred for the record.
     */
    public String getMatchLevelCode() {
        return matchLevelCode;
    }

    /**
     * Setter for matchLevelCode.<p>
     * The type of match that occurred for the record.
     */
    public void setMatchLevelCode(String matchLevelCode) {
        this.matchLevelCode = matchLevelCode;
    }

    /**
     * Getter for records.<p>
     */
    public List<Record> getRecords() {
        return records;
    }

    /**
     * Setter for records.<p>
     */
    public void setRecords(List<Record> records) {
        this.records = records;
    }

    /**
     * Getter for recordSummary.<p>
     * Overview of the source systems the records came from comprising this
     * related entity.
     */
    public List<RecordSummary> getRecordSummary() {
        return recordSummary;
    }

    /**
     * Setter for recordSummary.<p>
     * Overview of the source systems the records came from comprising this
     * related entity.
     */
    public void setRecordSummary(List<RecordSummary> recordSummary) {
        this.recordSummary = recordSummary;
    }

    /**
     * Getter for recordTypes.<p>
     */
    public List<String> getRecordTypes() {
        return recordTypes;
    }

    /**
     * Setter for recordTypes.<p>
     */
    public void setRecordTypes(List<String> recordTypes) {
        this.recordTypes = recordTypes;
    }

    /**
     * Getter for xxxLastSeenDt.<p>
     */
    public OffsetDateTime getXxxLastSeenDt() {
        return xxxLastSeenDt;
    }

    /**
     * Setter for xxxLastSeenDt.<p>
     */
    public void setXxxLastSeenDt(OffsetDateTime xxxLastSeenDt) {
        this.xxxLastSeenDt = xxxLastSeenDt;
    }
}
