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

org.finra.herd.sdk.model.BusinessObjectData Maven / Gradle / Ivy

There is a newer version: 0.160.0
Show newest version
/*
 * herd-external
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * OpenAPI spec version: 0.125.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.finra.herd.sdk.model;

import java.util.Objects;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import org.finra.herd.sdk.model.Attribute;
import org.finra.herd.sdk.model.BusinessObjectDataKey;
import org.finra.herd.sdk.model.BusinessObjectDataStatusChangeEvent;
import org.finra.herd.sdk.model.StorageUnit;
import org.joda.time.DateTime;

/**
 * The business object data
 */
@ApiModel(description = "The business object data")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-07-16T17:44:47.669-04:00[America/New_York]")
public class BusinessObjectData {
  @JsonProperty("id")
  private Long id = null;

  @JsonProperty("namespace")
  private String namespace = null;

  @JsonProperty("businessObjectDefinitionName")
  private String businessObjectDefinitionName = null;

  @JsonProperty("businessObjectFormatUsage")
  private String businessObjectFormatUsage = null;

  @JsonProperty("businessObjectFormatFileType")
  private String businessObjectFormatFileType = null;

  @JsonProperty("businessObjectFormatVersion")
  private Integer businessObjectFormatVersion = null;

  @JsonProperty("partitionKey")
  private String partitionKey = null;

  @JsonProperty("partitionValue")
  private String partitionValue = null;

  @JsonProperty("subPartitionValues")
  private List subPartitionValues = null;

  @JsonProperty("version")
  private Integer version = null;

  @JsonProperty("latestVersion")
  private Boolean latestVersion = null;

  @JsonProperty("status")
  private String status = null;

  @JsonProperty("storageUnits")
  private List storageUnits = null;

  @JsonProperty("attributes")
  private List attributes = null;

  @JsonProperty("businessObjectDataParents")
  private List businessObjectDataParents = null;

  @JsonProperty("businessObjectDataChildren")
  private List businessObjectDataChildren = null;

  @JsonProperty("businessObjectDataStatusHistory")
  private List businessObjectDataStatusHistory = null;

  @JsonProperty("retentionExpirationDate")
  private DateTime retentionExpirationDate = null;

  public BusinessObjectData id(Long id) {
    this.id = id;
    return this;
  }

   /**
   * The internal Id that uniquely references the newly created Business Object Data
   * @return id
  **/
  @ApiModelProperty(value = "The internal Id that uniquely references the newly created Business Object Data")
  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public BusinessObjectData namespace(String namespace) {
    this.namespace = namespace;
    return this;
  }

   /**
   * The Namespace to which a Business Object Format is related
   * @return namespace
  **/
  @ApiModelProperty(required = true, value = "The Namespace to which a Business Object Format is related")
  public String getNamespace() {
    return namespace;
  }

  public void setNamespace(String namespace) {
    this.namespace = namespace;
  }

  public BusinessObjectData businessObjectDefinitionName(String businessObjectDefinitionName) {
    this.businessObjectDefinitionName = businessObjectDefinitionName;
    return this;
  }

   /**
   * The name of the Business Object Definition to which a Business Object Format is related
   * @return businessObjectDefinitionName
  **/
  @ApiModelProperty(required = true, value = "The name of the Business Object Definition to which a Business Object Format is related")
  public String getBusinessObjectDefinitionName() {
    return businessObjectDefinitionName;
  }

  public void setBusinessObjectDefinitionName(String businessObjectDefinitionName) {
    this.businessObjectDefinitionName = businessObjectDefinitionName;
  }

  public BusinessObjectData businessObjectFormatUsage(String businessObjectFormatUsage) {
    this.businessObjectFormatUsage = businessObjectFormatUsage;
    return this;
  }

   /**
   * The Usage of this Business Object Format - a string describing how this format is used. Often used as a label for the Business                   Object Format. Does not have to be unique in the system, the Usage string is frequently shared across formats for multiple Business Object                   Definitions                
   * @return businessObjectFormatUsage
  **/
  @ApiModelProperty(required = true, value = "The Usage of this Business Object Format - a string describing how this format is used. Often used as a label for the Business                   Object Format. Does not have to be unique in the system, the Usage string is frequently shared across formats for multiple Business Object                   Definitions                ")
  public String getBusinessObjectFormatUsage() {
    return businessObjectFormatUsage;
  }

  public void setBusinessObjectFormatUsage(String businessObjectFormatUsage) {
    this.businessObjectFormatUsage = businessObjectFormatUsage;
  }

  public BusinessObjectData businessObjectFormatFileType(String businessObjectFormatFileType) {
    this.businessObjectFormatFileType = businessObjectFormatFileType;
    return this;
  }

   /**
   * A File Type known to the system that describes the file type of data stored under a Business Object Format
   * @return businessObjectFormatFileType
  **/
  @ApiModelProperty(required = true, value = "A File Type known to the system that describes the file type of data stored under a Business Object Format")
  public String getBusinessObjectFormatFileType() {
    return businessObjectFormatFileType;
  }

  public void setBusinessObjectFormatFileType(String businessObjectFormatFileType) {
    this.businessObjectFormatFileType = businessObjectFormatFileType;
  }

  public BusinessObjectData businessObjectFormatVersion(Integer businessObjectFormatVersion) {
    this.businessObjectFormatVersion = businessObjectFormatVersion;
    return this;
  }

   /**
   * The Business Object Format Version for a previously registered Business Object Format
   * @return businessObjectFormatVersion
  **/
  @ApiModelProperty(value = "The Business Object Format Version for a previously registered Business Object Format")
  public Integer getBusinessObjectFormatVersion() {
    return businessObjectFormatVersion;
  }

  public void setBusinessObjectFormatVersion(Integer businessObjectFormatVersion) {
    this.businessObjectFormatVersion = businessObjectFormatVersion;
  }

  public BusinessObjectData partitionKey(String partitionKey) {
    this.partitionKey = partitionKey;
    return this;
  }

   /**
   * The Partition Key this Business Object Data is being registered with. This must be they Partition Key specified in the Business                   Object Format                
   * @return partitionKey
  **/
  @ApiModelProperty(required = true, value = "The Partition Key this Business Object Data is being registered with. This must be they Partition Key specified in the Business                   Object Format                ")
  public String getPartitionKey() {
    return partitionKey;
  }

  public void setPartitionKey(String partitionKey) {
    this.partitionKey = partitionKey;
  }

  public BusinessObjectData partitionValue(String partitionValue) {
    this.partitionValue = partitionValue;
    return this;
  }

   /**
   * The Partition Value that this Business Object Data is associated with
   * @return partitionValue
  **/
  @ApiModelProperty(required = true, value = "The Partition Value that this Business Object Data is associated with")
  public String getPartitionValue() {
    return partitionValue;
  }

  public void setPartitionValue(String partitionValue) {
    this.partitionValue = partitionValue;
  }

  public BusinessObjectData subPartitionValues(List subPartitionValues) {
    this.subPartitionValues = subPartitionValues;
    return this;
  }

  public BusinessObjectData addSubPartitionValuesItem(String subPartitionValuesItem) {
    if (this.subPartitionValues == null) {
      this.subPartitionValues = new ArrayList();
    }
    this.subPartitionValues.add(subPartitionValuesItem);
    return this;
  }

   /**
   * A list of Sub-Partition values associated with this Business Object Data
   * @return subPartitionValues
  **/
  @ApiModelProperty(value = "A list of Sub-Partition values associated with this Business Object Data")
  public List getSubPartitionValues() {
    return subPartitionValues;
  }

  public void setSubPartitionValues(List subPartitionValues) {
    this.subPartitionValues = subPartitionValues;
  }

  public BusinessObjectData version(Integer version) {
    this.version = version;
    return this;
  }

   /**
   * The numeric version of a Business Object Data. Each time a new data object is registered, the new version will be the previous                   version + 1                
   * @return version
  **/
  @ApiModelProperty(value = "The numeric version of a Business Object Data. Each time a new data object is registered, the new version will be the previous                   version + 1                ")
  public Integer getVersion() {
    return version;
  }

  public void setVersion(Integer version) {
    this.version = version;
  }

  public BusinessObjectData latestVersion(Boolean latestVersion) {
    this.latestVersion = latestVersion;
    return this;
  }

   /**
   * *No longer in use* A boolean flag that shows whether this instance of data is the latest or not. Once a new version of data is                   registered, any previous versions will no longer be the latest                
   * @return latestVersion
  **/
  @ApiModelProperty(value = "*No longer in use* A boolean flag that shows whether this instance of data is the latest or not. Once a new version of data is                   registered, any previous versions will no longer be the latest                ")
  public Boolean getLatestVersion() {
    return latestVersion;
  }

  public void setLatestVersion(Boolean latestVersion) {
    this.latestVersion = latestVersion;
  }

  public BusinessObjectData status(String status) {
    this.status = status;
    return this;
  }

   /**
   * The status of the Business Object Data. One of the following values: VALID, UPLOADING, PENDING_VALID, PROCESSING, INVALID,                   ARCHIVED, EXPIRED, or DELETED                
   * @return status
  **/
  @ApiModelProperty(value = "The status of the Business Object Data. One of the following values: VALID, UPLOADING, PENDING_VALID, PROCESSING, INVALID,                   ARCHIVED, EXPIRED, or DELETED                ")
  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  public BusinessObjectData storageUnits(List storageUnits) {
    this.storageUnits = storageUnits;
    return this;
  }

  public BusinessObjectData addStorageUnitsItem(StorageUnit storageUnitsItem) {
    if (this.storageUnits == null) {
      this.storageUnits = new ArrayList();
    }
    this.storageUnits.add(storageUnitsItem);
    return this;
  }

   /**
   * A container for the Storage Units associated with a Business Object Data
   * @return storageUnits
  **/
  @ApiModelProperty(value = "A container for the Storage Units associated with a Business Object Data")
  public List getStorageUnits() {
    return storageUnits;
  }

  public void setStorageUnits(List storageUnits) {
    this.storageUnits = storageUnits;
  }

  public BusinessObjectData attributes(List attributes) {
    this.attributes = attributes;
    return this;
  }

  public BusinessObjectData addAttributesItem(Attribute attributesItem) {
    if (this.attributes == null) {
      this.attributes = new ArrayList();
    }
    this.attributes.add(attributesItem);
    return this;
  }

   /**
   * Collection of name-value pairs. This can be used to store things such as S3 bucket names, validation flags, and custom                   user-defined meta-data about this storage. Attributes values are required for certain keys that are defined as Attribute Definitions in the                   Business Object Format                
   * @return attributes
  **/
  @ApiModelProperty(value = "Collection of name-value pairs. This can be used to store things such as S3 bucket names, validation flags, and custom                   user-defined meta-data about this storage. Attributes values are required for certain keys that are defined as Attribute Definitions in the                   Business Object Format                ")
  public List getAttributes() {
    return attributes;
  }

  public void setAttributes(List attributes) {
    this.attributes = attributes;
  }

  public BusinessObjectData businessObjectDataParents(List businessObjectDataParents) {
    this.businessObjectDataParents = businessObjectDataParents;
    return this;
  }

  public BusinessObjectData addBusinessObjectDataParentsItem(BusinessObjectDataKey businessObjectDataParentsItem) {
    if (this.businessObjectDataParents == null) {
      this.businessObjectDataParents = new ArrayList();
    }
    this.businessObjectDataParents.add(businessObjectDataParentsItem);
    return this;
  }

   /**
   * A list of Business Object Data parents (i.e. predecessors) that were used/needed in the creation of this data. This is used for                   data lineage. Each parent consists of the key data that uniquely defines a reference to a single Business Object Data.                
   * @return businessObjectDataParents
  **/
  @ApiModelProperty(value = "A list of Business Object Data parents (i.e. predecessors) that were used/needed in the creation of this data. This is used for                   data lineage. Each parent consists of the key data that uniquely defines a reference to a single Business Object Data.                ")
  public List getBusinessObjectDataParents() {
    return businessObjectDataParents;
  }

  public void setBusinessObjectDataParents(List businessObjectDataParents) {
    this.businessObjectDataParents = businessObjectDataParents;
  }

  public BusinessObjectData businessObjectDataChildren(List businessObjectDataChildren) {
    this.businessObjectDataChildren = businessObjectDataChildren;
    return this;
  }

  public BusinessObjectData addBusinessObjectDataChildrenItem(BusinessObjectDataKey businessObjectDataChildrenItem) {
    if (this.businessObjectDataChildren == null) {
      this.businessObjectDataChildren = new ArrayList();
    }
    this.businessObjectDataChildren.add(businessObjectDataChildrenItem);
    return this;
  }

   /**
   * A list of Business Object Data children that were creation from this data. This is used for data lineage. Each child consists                   of the key data that uniquely defines a reference to a single Business Object Data.                
   * @return businessObjectDataChildren
  **/
  @ApiModelProperty(value = "A list of Business Object Data children that were creation from this data. This is used for data lineage. Each child consists                   of the key data that uniquely defines a reference to a single Business Object Data.                ")
  public List getBusinessObjectDataChildren() {
    return businessObjectDataChildren;
  }

  public void setBusinessObjectDataChildren(List businessObjectDataChildren) {
    this.businessObjectDataChildren = businessObjectDataChildren;
  }

  public BusinessObjectData businessObjectDataStatusHistory(List businessObjectDataStatusHistory) {
    this.businessObjectDataStatusHistory = businessObjectDataStatusHistory;
    return this;
  }

  public BusinessObjectData addBusinessObjectDataStatusHistoryItem(BusinessObjectDataStatusChangeEvent businessObjectDataStatusHistoryItem) {
    if (this.businessObjectDataStatusHistory == null) {
      this.businessObjectDataStatusHistory = new ArrayList();
    }
    this.businessObjectDataStatusHistory.add(businessObjectDataStatusHistoryItem);
    return this;
  }

   /**
   * Lists all business object data status change events for this business object data
   * @return businessObjectDataStatusHistory
  **/
  @ApiModelProperty(value = "Lists all business object data status change events for this business object data")
  public List getBusinessObjectDataStatusHistory() {
    return businessObjectDataStatusHistory;
  }

  public void setBusinessObjectDataStatusHistory(List businessObjectDataStatusHistory) {
    this.businessObjectDataStatusHistory = businessObjectDataStatusHistory;
  }

  public BusinessObjectData retentionExpirationDate(DateTime retentionExpirationDate) {
    this.retentionExpirationDate = retentionExpirationDate;
    return this;
  }

   /**
   * The retention expiration date for this business object data
   * @return retentionExpirationDate
  **/
  @ApiModelProperty(value = "The retention expiration date for this business object data")
  public DateTime getRetentionExpirationDate() {
    return retentionExpirationDate;
  }

  public void setRetentionExpirationDate(DateTime retentionExpirationDate) {
    this.retentionExpirationDate = retentionExpirationDate;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    BusinessObjectData businessObjectData = (BusinessObjectData) o;
    return Objects.equals(this.id, businessObjectData.id) &&
        Objects.equals(this.namespace, businessObjectData.namespace) &&
        Objects.equals(this.businessObjectDefinitionName, businessObjectData.businessObjectDefinitionName) &&
        Objects.equals(this.businessObjectFormatUsage, businessObjectData.businessObjectFormatUsage) &&
        Objects.equals(this.businessObjectFormatFileType, businessObjectData.businessObjectFormatFileType) &&
        Objects.equals(this.businessObjectFormatVersion, businessObjectData.businessObjectFormatVersion) &&
        Objects.equals(this.partitionKey, businessObjectData.partitionKey) &&
        Objects.equals(this.partitionValue, businessObjectData.partitionValue) &&
        Objects.equals(this.subPartitionValues, businessObjectData.subPartitionValues) &&
        Objects.equals(this.version, businessObjectData.version) &&
        Objects.equals(this.latestVersion, businessObjectData.latestVersion) &&
        Objects.equals(this.status, businessObjectData.status) &&
        Objects.equals(this.storageUnits, businessObjectData.storageUnits) &&
        Objects.equals(this.attributes, businessObjectData.attributes) &&
        Objects.equals(this.businessObjectDataParents, businessObjectData.businessObjectDataParents) &&
        Objects.equals(this.businessObjectDataChildren, businessObjectData.businessObjectDataChildren) &&
        Objects.equals(this.businessObjectDataStatusHistory, businessObjectData.businessObjectDataStatusHistory) &&
        Objects.equals(this.retentionExpirationDate, businessObjectData.retentionExpirationDate);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, namespace, businessObjectDefinitionName, businessObjectFormatUsage, businessObjectFormatFileType, businessObjectFormatVersion, partitionKey, partitionValue, subPartitionValues, version, latestVersion, status, storageUnits, attributes, businessObjectDataParents, businessObjectDataChildren, businessObjectDataStatusHistory, retentionExpirationDate);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class BusinessObjectData {\n");
    
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    namespace: ").append(toIndentedString(namespace)).append("\n");
    sb.append("    businessObjectDefinitionName: ").append(toIndentedString(businessObjectDefinitionName)).append("\n");
    sb.append("    businessObjectFormatUsage: ").append(toIndentedString(businessObjectFormatUsage)).append("\n");
    sb.append("    businessObjectFormatFileType: ").append(toIndentedString(businessObjectFormatFileType)).append("\n");
    sb.append("    businessObjectFormatVersion: ").append(toIndentedString(businessObjectFormatVersion)).append("\n");
    sb.append("    partitionKey: ").append(toIndentedString(partitionKey)).append("\n");
    sb.append("    partitionValue: ").append(toIndentedString(partitionValue)).append("\n");
    sb.append("    subPartitionValues: ").append(toIndentedString(subPartitionValues)).append("\n");
    sb.append("    version: ").append(toIndentedString(version)).append("\n");
    sb.append("    latestVersion: ").append(toIndentedString(latestVersion)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    storageUnits: ").append(toIndentedString(storageUnits)).append("\n");
    sb.append("    attributes: ").append(toIndentedString(attributes)).append("\n");
    sb.append("    businessObjectDataParents: ").append(toIndentedString(businessObjectDataParents)).append("\n");
    sb.append("    businessObjectDataChildren: ").append(toIndentedString(businessObjectDataChildren)).append("\n");
    sb.append("    businessObjectDataStatusHistory: ").append(toIndentedString(businessObjectDataStatusHistory)).append("\n");
    sb.append("    retentionExpirationDate: ").append(toIndentedString(retentionExpirationDate)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy