// 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 Record {
    @JsonProperty("DATA_SOURCE")
    private String dataSource;

    @JsonProperty("ERRULE_CODE")
    private String erruleCode;

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

    @JsonProperty("FEATURE_IDS")
    private List<FeatureId> featureIds;

    @JsonProperty("FIRST_SEEN_DT")
    private OffsetDateTime firstSeenDt;

    @JsonProperty("INTERNAL_ID")
    private Integer internalId;

    @JsonProperty("JSON_DATA")
    private Map<String, Object> jsonData;

    @JsonProperty("LAST_SEEN_DT")
    private OffsetDateTime lastSeenDt;

    @JsonProperty("MATCH_KEY")
    private String matchKey;

    @JsonProperty("MATCH_LEVEL_CODE")
    private String matchLevelCode;

    @JsonProperty("RECORD_ID")
    private String recordId;

    @JsonProperty("UNMAPPED_DATA")
    private Map<String, Object> unmappedData;

    @JsonProperty("XXX_ADDRESS_DATA")
    private List<String> xxxAddressData;

    @JsonProperty("XXX_ATTRIBUTE_DATA")
    private List<String> xxxAttributeData;

    @JsonProperty("XXX_ENTITY_DATA")
    private List<String> xxxEntityData;

    @JsonProperty("XXX_ENTITY_DESC")
    private String xxxEntityDesc;

    @JsonProperty("XXX_ENTITY_KEY")
    private String xxxEntityKey;

    @JsonProperty("XXX_ENTITY_TYPE")
    private String xxxEntityType;

    @JsonProperty("XXX_IDENTIFIER_DATA")
    private List<String> xxxIdentifierData;

    @JsonProperty("XXX_MATCH_LEVEL")
    private Integer xxxMatchLevel;

    @JsonProperty("XXX_NAME_DATA")
    private List<String> xxxNameData;

    @JsonProperty("XXX_OTHER_DATA")
    private List<String> xxxOtherData;

    @JsonProperty("XXX_PHONE_DATA")
    private List<String> xxxPhoneData;

    @JsonProperty("XXX_RELATIONSHIP_DATA")
    private List<String> xxxRelationshipData;

    public Record() {
    }

    /**
     * Getter for dataSource.<p>
     * A label identifying the provenance of the record.
     */
    public String getDataSource() {
        return dataSource;
    }

    /**
     * Setter for dataSource.<p>
     * A label identifying the provenance of the record.
     */
    public void setDataSource(String dataSource) {
        this.dataSource = dataSource;
    }

    /**
     * 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 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 featureIds.<p>
     */
    public List<FeatureId> getFeatureIds() {
        return featureIds;
    }

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

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

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

    /**
     * Getter for internalId.<p>
     * Internal identifier for the record.
     */
    public Integer getInternalId() {
        return internalId;
    }

    /**
     * Setter for internalId.<p>
     * Internal identifier for the record.
     */
    public void setInternalId(Integer internalId) {
        this.internalId = internalId;
    }

    /**
     * Getter for jsonData.<p>
     */
    public Map<String, Object> getJsonData() {
        return jsonData;
    }

    /**
     * Setter for jsonData.<p>
     */
    public void setJsonData(Map<String, Object> jsonData) {
        this.jsonData = jsonData;
    }

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

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

    /**
     * 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 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 recordId.<p>
     * The unique identifier within the set of records in the DATA_SOURCE.
     */
    public String getRecordId() {
        return recordId;
    }

    /**
     * Setter for recordId.<p>
     * The unique identifier within the set of records in the DATA_SOURCE.
     */
    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    /**
     * Getter for unmappedData.<p>
     */
    public Map<String, Object> getUnmappedData() {
        return unmappedData;
    }

    /**
     * Setter for unmappedData.<p>
     */
    public void setUnmappedData(Map<String, Object> unmappedData) {
        this.unmappedData = unmappedData;
    }

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

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

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

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

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

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

    /**
     * Getter for xxxEntityDesc.<p>
     */
    public String getXxxEntityDesc() {
        return xxxEntityDesc;
    }

    /**
     * Setter for xxxEntityDesc.<p>
     */
    public void setXxxEntityDesc(String xxxEntityDesc) {
        this.xxxEntityDesc = xxxEntityDesc;
    }

    /**
     * Getter for xxxEntityKey.<p>
     */
    public String getXxxEntityKey() {
        return xxxEntityKey;
    }

    /**
     * Setter for xxxEntityKey.<p>
     */
    public void setXxxEntityKey(String xxxEntityKey) {
        this.xxxEntityKey = xxxEntityKey;
    }

    /**
     * Getter for xxxEntityType.<p>
     */
    public String getXxxEntityType() {
        return xxxEntityType;
    }

    /**
     * Setter for xxxEntityType.<p>
     */
    public void setXxxEntityType(String xxxEntityType) {
        this.xxxEntityType = xxxEntityType;
    }

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

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

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

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

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

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

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

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

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

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

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

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