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

org.finra.herd.sdk.model.BusinessObjectFormatCreateRequest 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.Schema;

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

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

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

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

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

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

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

  public BusinessObjectFormatCreateRequest 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 BusinessObjectFormatCreateRequest businessObjectFormatFileType(String businessObjectFormatFileType) {
    this.businessObjectFormatFileType = businessObjectFormatFileType;
    return this;
  }

   /**
   * A File Type known to the system that describes the file type of data stored under this 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 this Business Object Format                ")
  public String getBusinessObjectFormatFileType() {
    return businessObjectFormatFileType;
  }

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

  public BusinessObjectFormatCreateRequest 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 BusinessObjectFormatCreateRequest 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 BusinessObjectFormatCreateRequest documentSchema(String documentSchema) {
    this.documentSchema = documentSchema;
    return this;
  }

   /**
   * The schema for document-style business object data registered with Herd.                   The schema allows the publisher to perform self-service validation of incoming data when registering business object data. It also allows                   the consumers to perform self-service downstream actions like hydrating objects when consuming business object data. The documentSchema is                   optional. Currently any documentSchema is accepted. Its content is not validated                
   * @return documentSchema
  **/
  @ApiModelProperty(value = "The schema for document-style business object data registered with Herd.                   The schema allows the publisher to perform self-service validation of incoming data when registering business object data. It also allows                   the consumers to perform self-service downstream actions like hydrating objects when consuming business object data. The documentSchema is                   optional. Currently any documentSchema is accepted. Its content is not validated                ")
  public String getDocumentSchema() {
    return documentSchema;
  }

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

  public BusinessObjectFormatCreateRequest 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                
   * @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                ")
  public String getDocumentSchemaUrl() {
    return documentSchemaUrl;
  }

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

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

  public BusinessObjectFormatCreateRequest 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 BusinessObjectFormatCreateRequest attributeDefinitions(List attributeDefinitions) {
    this.attributeDefinitions = attributeDefinitions;
    return this;
  }

  public BusinessObjectFormatCreateRequest 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 BusinessObjectFormatCreateRequest 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;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    BusinessObjectFormatCreateRequest businessObjectFormatCreateRequest = (BusinessObjectFormatCreateRequest) o;
    return Objects.equals(this.namespace, businessObjectFormatCreateRequest.namespace) &&
        Objects.equals(this.businessObjectDefinitionName, businessObjectFormatCreateRequest.businessObjectDefinitionName) &&
        Objects.equals(this.businessObjectFormatUsage, businessObjectFormatCreateRequest.businessObjectFormatUsage) &&
        Objects.equals(this.businessObjectFormatFileType, businessObjectFormatCreateRequest.businessObjectFormatFileType) &&
        Objects.equals(this.partitionKey, businessObjectFormatCreateRequest.partitionKey) &&
        Objects.equals(this.description, businessObjectFormatCreateRequest.description) &&
        Objects.equals(this.documentSchema, businessObjectFormatCreateRequest.documentSchema) &&
        Objects.equals(this.documentSchemaUrl, businessObjectFormatCreateRequest.documentSchemaUrl) &&
        Objects.equals(this.attributes, businessObjectFormatCreateRequest.attributes) &&
        Objects.equals(this.attributeDefinitions, businessObjectFormatCreateRequest.attributeDefinitions) &&
        Objects.equals(this.schema, businessObjectFormatCreateRequest.schema);
  }

  @Override
  public int hashCode() {
    return Objects.hash(namespace, businessObjectDefinitionName, businessObjectFormatUsage, businessObjectFormatFileType, partitionKey, description, documentSchema, documentSchemaUrl, attributes, attributeDefinitions, schema);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class BusinessObjectFormatCreateRequest {\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("    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("}");
    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