// 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;
import java.util.Map;

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

    @JsonProperty("ENTITY_NAME")
    private String entityName;

    @JsonProperty("FEATURES")
    private Map<String, List<FeatureForAttributes>> features;

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

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

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

    @JsonProperty("XXX_ERRULE_CODE")
    private String xxxErruleCode;

    @JsonProperty("XXX_FEATURE_IDS")
    private List<FeatureId> xxxFeatureIds;

    @JsonProperty("XXX_IS_AMBIGUOUS")
    private Integer xxxIsAmbiguous;

    @JsonProperty("XXX_IS_DISCLOSED")
    private Integer xxxIsDisclosed;

    @JsonProperty("XXX_LAST_SEEN_DT")
    private OffsetDateTime xxxLastSeenDt;

    @JsonProperty("XXX_MATCH_KEY")
    private String xxxMatchKey;

    @JsonProperty("XXX_MATCH_LEVEL")
    private Integer xxxMatchLevel;

    @JsonProperty("XXX_MATCH_LEVEL_CODE")
    private String xxxMatchLevelCode;

    public ResolvedEntity() {
    }

    /**
     * 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 features.<p>
     */
    public Map<String, List<FeatureForAttributes>> getFeatures() {
        return features;
    }

    /**
     * Setter for features.<p>
     */
    public void setFeatures(Map<String, List<FeatureForAttributes>> features) {
        this.features = features;
    }

    /**
     * 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 xxxErruleCode.<p>
     * Identifier of the entity resolution rule that was triggered.
     */
    public String getXxxErruleCode() {
        return xxxErruleCode;
    }

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

    /**
     * Getter for xxxFeatureIds.<p>
     */
    public List<FeatureId> getXxxFeatureIds() {
        return xxxFeatureIds;
    }

    /**
     * Setter for xxxFeatureIds.<p>
     */
    public void setXxxFeatureIds(List<FeatureId> xxxFeatureIds) {
        this.xxxFeatureIds = xxxFeatureIds;
    }

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

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

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

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

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

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

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

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

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

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

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

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