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

org.finra.herd.sdk.model.BusinessObjectFormat 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.AttributeDefinition;
import org.finra.herd.sdk.model.BusinessObjectFormatExternalInterfaceKey;
import org.finra.herd.sdk.model.BusinessObjectFormatKey;
import org.finra.herd.sdk.model.Schema;

/**
 * BusinessObjectFormat
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-07-16T17:44:47.669-04:00[America/New_York]")
public class BusinessObjectFormat {
  @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("latestVersion")
  private Boolean latestVersion = null;

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

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

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

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

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

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

  @JsonProperty("schema")
  private Schema schema = null;

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

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

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

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

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

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

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

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

   /**
   * The internal identifier that uniquely identifies a Business Object Format
   * @return id
  **/
  @ApiModelProperty(value = "The internal identifier that uniquely identifies a Business Object Format")
  public Long getId() {
    return id;
  }

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

  public BusinessObjectFormat 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 BusinessObjectFormat 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 BusinessObjectFormat 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 BusinessObjectFormat 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 BusinessObjectFormat businessObjectFormatVersion(Integer businessObjectFormatVersion) {
    this.businessObjectFormatVersion = businessObjectFormatVersion;
    return this;
  }

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

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

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

   /**
   * A Y/N flag that shows whether this instance of format is the latest or not. Once a new version of format is registered, any                   previous versions will no longer be the latest                
   * @return latestVersion
  **/
  @ApiModelProperty(value = "A Y/N flag that shows whether this instance of format is the latest or not. Once a new version of format 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 BusinessObjectFormat partitionKey(String partitionKey) {
    this.partitionKey = partitionKey;
    return this;
  }

   /**
   * The partition key for this Business Object Format
   * @return partitionKey
  **/
  @ApiModelProperty(required = true, value = "The partition key for this Business Object Format")
  public String getPartitionKey() {
    return partitionKey;
  }

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

  public BusinessObjectFormat description(String description) {
    this.description = description;
    return this;
  }

   /**
   * Description of the Business Object Format
   * @return description
  **/
  @ApiModelProperty(value = "Description of the Business Object Format")
  public String getDescription() {
    return description;
  }

  public void setDescription(String description) {
    this.description = description;
  }

  public BusinessObjectFormat documentSchema(String documentSchema) {
    this.documentSchema = documentSchema;
    return this;
  }

   /**
   * The schema for document-style business object data registered with Herd
   * @return documentSchema
  **/
  @ApiModelProperty(value = "The schema for document-style business object data registered with Herd")
  public String getDocumentSchema() {
    return documentSchema;
  }

  public void setDocumentSchema(String documentSchema) {
    this.documentSchema = documentSchema;
  }

  public BusinessObjectFormat documentSchemaUrl(String documentSchemaUrl) {
    this.documentSchemaUrl = documentSchemaUrl;
    return this;
  }

   /**
   * An optional URL of the documentSchema to an externally hosted XSD or JSON. Herd will not access this URL,                   it will simply store and retrieve the URL and teams can then access the URL                
   * @return documentSchemaUrl
  **/
  @ApiModelProperty(value = "An optional URL of the documentSchema to an externally hosted XSD or JSON. Herd will not access this URL,                   it will simply store and retrieve the URL and teams can then access the URL                ")
  public String getDocumentSchemaUrl() {
    return documentSchemaUrl;
  }

  public void setDocumentSchemaUrl(String documentSchemaUrl) {
    this.documentSchemaUrl = documentSchemaUrl;
  }

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

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

   /**
   * Custom user-defined metadata associated with this Business Object Format. \"name\" is the attribute name (i.e. the key) and                   \"value\" is the attribute value.                
   * @return attributes
  **/
  @ApiModelProperty(value = "Custom user-defined metadata associated with this Business Object Format. \"name\" is the attribute name (i.e. the key) and                   \"value\" is the attribute value.                ")
  public List getAttributes() {
    return attributes;
  }

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

  public BusinessObjectFormat attributeDefinitions(List attributeDefinitions) {
    this.attributeDefinitions = attributeDefinitions;
    return this;
  }

  public BusinessObjectFormat addAttributeDefinitionsItem(AttributeDefinition attributeDefinitionsItem) {
    if (this.attributeDefinitions == null) {
      this.attributeDefinitions = new ArrayList();
    }
    this.attributeDefinitions.add(attributeDefinitionsItem);
    return this;
  }

   /**
   * List of attribute definitions (for storage of custom user-defined metadata with objects) which are required to be specified                   when registering Business Object Data against this format. This list will define which metadata must be specified, but additional metadata can                   still be registered which is not specified in this list. The metadata (attributes) will allow applications to store custom data with                   registered data for use by consumers of the data                
   * @return attributeDefinitions
  **/
  @ApiModelProperty(value = "List of attribute definitions (for storage of custom user-defined metadata with objects) which are required to be specified                   when registering Business Object Data against this format. This list will define which metadata must be specified, but additional metadata can                   still be registered which is not specified in this list. The metadata (attributes) will allow applications to store custom data with                   registered data for use by consumers of the data                ")
  public List getAttributeDefinitions() {
    return attributeDefinitions;
  }

  public void setAttributeDefinitions(List attributeDefinitions) {
    this.attributeDefinitions = attributeDefinitions;
  }

  public BusinessObjectFormat schema(Schema schema) {
    this.schema = schema;
    return this;
  }

   /**
   * Get schema
   * @return schema
  **/
  @ApiModelProperty(value = "")
  public Schema getSchema() {
    return schema;
  }

  public void setSchema(Schema schema) {
    this.schema = schema;
  }

  public BusinessObjectFormat businessObjectFormatParents(List businessObjectFormatParents) {
    this.businessObjectFormatParents = businessObjectFormatParents;
    return this;
  }

  public BusinessObjectFormat addBusinessObjectFormatParentsItem(BusinessObjectFormatKey businessObjectFormatParentsItem) {
    if (this.businessObjectFormatParents == null) {
      this.businessObjectFormatParents = new ArrayList();
    }
    this.businessObjectFormatParents.add(businessObjectFormatParentsItem);
    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 businessObjectFormatParents
  **/
  @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 getBusinessObjectFormatParents() {
    return businessObjectFormatParents;
  }

  public void setBusinessObjectFormatParents(List businessObjectFormatParents) {
    this.businessObjectFormatParents = businessObjectFormatParents;
  }

  public BusinessObjectFormat businessObjectFormatChildren(List businessObjectFormatChildren) {
    this.businessObjectFormatChildren = businessObjectFormatChildren;
    return this;
  }

  public BusinessObjectFormat addBusinessObjectFormatChildrenItem(BusinessObjectFormatKey businessObjectFormatChildrenItem) {
    if (this.businessObjectFormatChildren == null) {
      this.businessObjectFormatChildren = new ArrayList();
    }
    this.businessObjectFormatChildren.add(businessObjectFormatChildrenItem);
    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 businessObjectFormatChildren
  **/
  @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 getBusinessObjectFormatChildren() {
    return businessObjectFormatChildren;
  }

  public void setBusinessObjectFormatChildren(List businessObjectFormatChildren) {
    this.businessObjectFormatChildren = businessObjectFormatChildren;
  }

  public BusinessObjectFormat businessObjectFormatExternalInterfaces(List businessObjectFormatExternalInterfaces) {
    this.businessObjectFormatExternalInterfaces = businessObjectFormatExternalInterfaces;
    return this;
  }

  public BusinessObjectFormat addBusinessObjectFormatExternalInterfacesItem(BusinessObjectFormatExternalInterfaceKey businessObjectFormatExternalInterfacesItem) {
    if (this.businessObjectFormatExternalInterfaces == null) {
      this.businessObjectFormatExternalInterfaces = new ArrayList();
    }
    this.businessObjectFormatExternalInterfaces.add(businessObjectFormatExternalInterfacesItem);
    return this;
  }

   /**
   * A list of business object format to external interface mappings
   * @return businessObjectFormatExternalInterfaces
  **/
  @ApiModelProperty(value = "A list of business object format to external interface mappings")
  public List getBusinessObjectFormatExternalInterfaces() {
    return businessObjectFormatExternalInterfaces;
  }

  public void setBusinessObjectFormatExternalInterfaces(List businessObjectFormatExternalInterfaces) {
    this.businessObjectFormatExternalInterfaces = businessObjectFormatExternalInterfaces;
  }

  public BusinessObjectFormat recordFlag(Boolean recordFlag) {
    this.recordFlag = recordFlag;
    return this;
  }

   /**
   * Indicates if business object data registered with this format is a record                
   * @return recordFlag
  **/
  @ApiModelProperty(value = "Indicates if business object data registered with this format is a record                ")
  public Boolean getRecordFlag() {
    return recordFlag;
  }

  public void setRecordFlag(Boolean recordFlag) {
    this.recordFlag = recordFlag;
  }

  public BusinessObjectFormat retentionPeriodInDays(Integer retentionPeriodInDays) {
    this.retentionPeriodInDays = retentionPeriodInDays;
    return this;
  }

   /**
   * Retention period (in days) for business object data registered with this format.                
   * @return retentionPeriodInDays
  **/
  @ApiModelProperty(value = "Retention period (in days) for business object data registered with this format.                ")
  public Integer getRetentionPeriodInDays() {
    return retentionPeriodInDays;
  }

  public void setRetentionPeriodInDays(Integer retentionPeriodInDays) {
    this.retentionPeriodInDays = retentionPeriodInDays;
  }

  public BusinessObjectFormat retentionType(String retentionType) {
    this.retentionType = retentionType;
    return this;
  }

   /**
   * Retention type. Supported retention types: PARTITION_VALUE, BDATA_RETENTION_TYPE.                
   * @return retentionType
  **/
  @ApiModelProperty(value = "Retention type. Supported retention types: PARTITION_VALUE, BDATA_RETENTION_TYPE.                ")
  public String getRetentionType() {
    return retentionType;
  }

  public void setRetentionType(String retentionType) {
    this.retentionType = retentionType;
  }

  public BusinessObjectFormat allowNonBackwardsCompatibleChanges(Boolean allowNonBackwardsCompatibleChanges) {
    this.allowNonBackwardsCompatibleChanges = allowNonBackwardsCompatibleChanges;
    return this;
  }

   /**
   * If true, allows non backwards compatible changes to the schema                
   * @return allowNonBackwardsCompatibleChanges
  **/
  @ApiModelProperty(value = "If true, allows non backwards compatible changes to the schema                ")
  public Boolean getAllowNonBackwardsCompatibleChanges() {
    return allowNonBackwardsCompatibleChanges;
  }

  public void setAllowNonBackwardsCompatibleChanges(Boolean allowNonBackwardsCompatibleChanges) {
    this.allowNonBackwardsCompatibleChanges = allowNonBackwardsCompatibleChanges;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    BusinessObjectFormat businessObjectFormat = (BusinessObjectFormat) o;
    return Objects.equals(this.id, businessObjectFormat.id) &&
        Objects.equals(this.namespace, businessObjectFormat.namespace) &&
        Objects.equals(this.businessObjectDefinitionName, businessObjectFormat.businessObjectDefinitionName) &&
        Objects.equals(this.businessObjectFormatUsage, businessObjectFormat.businessObjectFormatUsage) &&
        Objects.equals(this.businessObjectFormatFileType, businessObjectFormat.businessObjectFormatFileType) &&
        Objects.equals(this.businessObjectFormatVersion, businessObjectFormat.businessObjectFormatVersion) &&
        Objects.equals(this.latestVersion, businessObjectFormat.latestVersion) &&
        Objects.equals(this.partitionKey, businessObjectFormat.partitionKey) &&
        Objects.equals(this.description, businessObjectFormat.description) &&
        Objects.equals(this.documentSchema, businessObjectFormat.documentSchema) &&
        Objects.equals(this.documentSchemaUrl, businessObjectFormat.documentSchemaUrl) &&
        Objects.equals(this.attributes, businessObjectFormat.attributes) &&
        Objects.equals(this.attributeDefinitions, businessObjectFormat.attributeDefinitions) &&
        Objects.equals(this.schema, businessObjectFormat.schema) &&
        Objects.equals(this.businessObjectFormatParents, businessObjectFormat.businessObjectFormatParents) &&
        Objects.equals(this.businessObjectFormatChildren, businessObjectFormat.businessObjectFormatChildren) &&
        Objects.equals(this.businessObjectFormatExternalInterfaces, businessObjectFormat.businessObjectFormatExternalInterfaces) &&
        Objects.equals(this.recordFlag, businessObjectFormat.recordFlag) &&
        Objects.equals(this.retentionPeriodInDays, businessObjectFormat.retentionPeriodInDays) &&
        Objects.equals(this.retentionType, businessObjectFormat.retentionType) &&
        Objects.equals(this.allowNonBackwardsCompatibleChanges, businessObjectFormat.allowNonBackwardsCompatibleChanges);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, namespace, businessObjectDefinitionName, businessObjectFormatUsage, businessObjectFormatFileType, businessObjectFormatVersion, latestVersion, partitionKey, description, documentSchema, documentSchemaUrl, attributes, attributeDefinitions, schema, businessObjectFormatParents, businessObjectFormatChildren, businessObjectFormatExternalInterfaces, recordFlag, retentionPeriodInDays, retentionType, allowNonBackwardsCompatibleChanges);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class BusinessObjectFormat {\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("    latestVersion: ").append(toIndentedString(latestVersion)).append("\n");
    sb.append("    partitionKey: ").append(toIndentedString(partitionKey)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    documentSchema: ").append(toIndentedString(documentSchema)).append("\n");
    sb.append("    documentSchemaUrl: ").append(toIndentedString(documentSchemaUrl)).append("\n");
    sb.append("    attributes: ").append(toIndentedString(attributes)).append("\n");
    sb.append("    attributeDefinitions: ").append(toIndentedString(attributeDefinitions)).append("\n");
    sb.append("    schema: ").append(toIndentedString(schema)).append("\n");
    sb.append("    businessObjectFormatParents: ").append(toIndentedString(businessObjectFormatParents)).append("\n");
    sb.append("    businessObjectFormatChildren: ").append(toIndentedString(businessObjectFormatChildren)).append("\n");
    sb.append("    businessObjectFormatExternalInterfaces: ").append(toIndentedString(businessObjectFormatExternalInterfaces)).append("\n");
    sb.append("    recordFlag: ").append(toIndentedString(recordFlag)).append("\n");
    sb.append("    retentionPeriodInDays: ").append(toIndentedString(retentionPeriodInDays)).append("\n");
    sb.append("    retentionType: ").append(toIndentedString(retentionType)).append("\n");
    sb.append("    allowNonBackwardsCompatibleChanges: ").append(toIndentedString(allowNonBackwardsCompatibleChanges)).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