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

com.oracle.bmc.dataintegration.model.ExternalPublicationSummary Maven / Gradle / Ivy

There is a newer version: 3.46.1
Show newest version
/**
 * Copyright (c) 2016, 2022, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */
package com.oracle.bmc.dataintegration.model;

/**
 * The external publication summary contains the audit summary information and the definition of the
 * external object. 
* Note: Objects should always be created or deserialized using the {@link Builder}. This model * distinguishes fields that are {@code null} because they are unset from fields that are explicitly * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a * set of all explicitly set fields called {@link #__explicitlySet__}. The {@link #hashCode()} and * {@link #equals(Object)} methods are implemented to take {@link #__explicitlySet__} into account. * The constructor, on the other hand, does not set {@link #__explicitlySet__} (since the * constructor cannot distinguish explicit {@code null} from unset {@code null}). */ @javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20200430") @com.fasterxml.jackson.databind.annotation.JsonDeserialize( builder = ExternalPublicationSummary.Builder.class) @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetFilter.NAME) public final class ExternalPublicationSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated @java.beans.ConstructorProperties({ "applicationId", "applicationCompartmentId", "displayName", "resourceConfiguration", "configurationDetails", "status", "errorMessage", "key", "modelType", "modelVersion", "name", "description", "objectVersion", "objectStatus", "identifier", "parentRef", "metadata", "keyMap" }) public ExternalPublicationSummary( String applicationId, String applicationCompartmentId, String displayName, ResourceConfiguration resourceConfiguration, ConfigurationDetails configurationDetails, Status status, String errorMessage, String key, String modelType, String modelVersion, String name, String description, Integer objectVersion, Integer objectStatus, String identifier, ParentReference parentRef, ObjectMetadata metadata, java.util.Map keyMap) { super(); this.applicationId = applicationId; this.applicationCompartmentId = applicationCompartmentId; this.displayName = displayName; this.resourceConfiguration = resourceConfiguration; this.configurationDetails = configurationDetails; this.status = status; this.errorMessage = errorMessage; this.key = key; this.modelType = modelType; this.modelVersion = modelVersion; this.name = name; this.description = description; this.objectVersion = objectVersion; this.objectStatus = objectStatus; this.identifier = identifier; this.parentRef = parentRef; this.metadata = metadata; this.keyMap = keyMap; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { /** * The unique OCID of the identifier that is returned after creating the Oracle Cloud * Infrastructure Data Flow application. */ @com.fasterxml.jackson.annotation.JsonProperty("applicationId") private String applicationId; /** * The unique OCID of the identifier that is returned after creating the Oracle Cloud * Infrastructure Data Flow application. * * @param applicationId the value to set * @return this builder */ public Builder applicationId(String applicationId) { this.applicationId = applicationId; this.__explicitlySet__.add("applicationId"); return this; } /** * The OCID of the compartment where the application is created in the Oracle Cloud * Infrastructure Data Flow Service. */ @com.fasterxml.jackson.annotation.JsonProperty("applicationCompartmentId") private String applicationCompartmentId; /** * The OCID of the compartment where the application is created in the Oracle Cloud * Infrastructure Data Flow Service. * * @param applicationCompartmentId the value to set * @return this builder */ public Builder applicationCompartmentId(String applicationCompartmentId) { this.applicationCompartmentId = applicationCompartmentId; this.__explicitlySet__.add("applicationCompartmentId"); return this; } /** The name of the application. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; /** * The name of the application. * * @param displayName the value to set * @return this builder */ public Builder displayName(String displayName) { this.displayName = displayName; this.__explicitlySet__.add("displayName"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("resourceConfiguration") private ResourceConfiguration resourceConfiguration; public Builder resourceConfiguration(ResourceConfiguration resourceConfiguration) { this.resourceConfiguration = resourceConfiguration; this.__explicitlySet__.add("resourceConfiguration"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("configurationDetails") private ConfigurationDetails configurationDetails; public Builder configurationDetails(ConfigurationDetails configurationDetails) { this.configurationDetails = configurationDetails; this.__explicitlySet__.add("configurationDetails"); return this; } /** The status of the publishing action to Oracle Cloud Infrastructure Data Flow. */ @com.fasterxml.jackson.annotation.JsonProperty("status") private Status status; /** * The status of the publishing action to Oracle Cloud Infrastructure Data Flow. * * @param status the value to set * @return this builder */ public Builder status(Status status) { this.status = status; this.__explicitlySet__.add("status"); return this; } /** The error of the published object in the application. */ @com.fasterxml.jackson.annotation.JsonProperty("errorMessage") private String errorMessage; /** * The error of the published object in the application. * * @param errorMessage the value to set * @return this builder */ public Builder errorMessage(String errorMessage) { this.errorMessage = errorMessage; this.__explicitlySet__.add("errorMessage"); return this; } /** The object key. */ @com.fasterxml.jackson.annotation.JsonProperty("key") private String key; /** * The object key. * * @param key the value to set * @return this builder */ public Builder key(String key) { this.key = key; this.__explicitlySet__.add("key"); return this; } /** The object type. */ @com.fasterxml.jackson.annotation.JsonProperty("modelType") private String modelType; /** * The object type. * * @param modelType the value to set * @return this builder */ public Builder modelType(String modelType) { this.modelType = modelType; this.__explicitlySet__.add("modelType"); return this; } /** * This is a version number that is used by the service to upgrade objects if needed through * releases of the service. */ @com.fasterxml.jackson.annotation.JsonProperty("modelVersion") private String modelVersion; /** * This is a version number that is used by the service to upgrade objects if needed through * releases of the service. * * @param modelVersion the value to set * @return this builder */ public Builder modelVersion(String modelVersion) { this.modelVersion = modelVersion; this.__explicitlySet__.add("modelVersion"); return this; } /** * Free form text without any restriction on permitted characters. Name can have letters, * numbers, and special characters. The value is editable and is restricted to 1000 * characters. */ @com.fasterxml.jackson.annotation.JsonProperty("name") private String name; /** * Free form text without any restriction on permitted characters. Name can have letters, * numbers, and special characters. The value is editable and is restricted to 1000 * characters. * * @param name the value to set * @return this builder */ public Builder name(String name) { this.name = name; this.__explicitlySet__.add("name"); return this; } /** Detailed description for the object. */ @com.fasterxml.jackson.annotation.JsonProperty("description") private String description; /** * Detailed description for the object. * * @param description the value to set * @return this builder */ public Builder description(String description) { this.description = description; this.__explicitlySet__.add("description"); return this; } /** The version of the object that is used to track changes in the object instance. */ @com.fasterxml.jackson.annotation.JsonProperty("objectVersion") private Integer objectVersion; /** * The version of the object that is used to track changes in the object instance. * * @param objectVersion the value to set * @return this builder */ public Builder objectVersion(Integer objectVersion) { this.objectVersion = objectVersion; this.__explicitlySet__.add("objectVersion"); return this; } /** * The status of an object that can be set to value 1 for shallow references across objects. * Other values are reserved. */ @com.fasterxml.jackson.annotation.JsonProperty("objectStatus") private Integer objectStatus; /** * The status of an object that can be set to value 1 for shallow references across objects. * Other values are reserved. * * @param objectStatus the value to set * @return this builder */ public Builder objectStatus(Integer objectStatus) { this.objectStatus = objectStatus; this.__explicitlySet__.add("objectStatus"); return this; } /** * Value can only contain upper case letters, underscore, and numbers. It should begin with * upper case letter or underscore. The value can be modified. */ @com.fasterxml.jackson.annotation.JsonProperty("identifier") private String identifier; /** * Value can only contain upper case letters, underscore, and numbers. It should begin with * upper case letter or underscore. The value can be modified. * * @param identifier the value to set * @return this builder */ public Builder identifier(String identifier) { this.identifier = identifier; this.__explicitlySet__.add("identifier"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("parentRef") private ParentReference parentRef; public Builder parentRef(ParentReference parentRef) { this.parentRef = parentRef; this.__explicitlySet__.add("parentRef"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("metadata") private ObjectMetadata metadata; public Builder metadata(ObjectMetadata metadata) { this.metadata = metadata; this.__explicitlySet__.add("metadata"); return this; } /** * A key map. If provided, key is replaced with generated key. This structure provides * mapping between user provided key and generated key. */ @com.fasterxml.jackson.annotation.JsonProperty("keyMap") private java.util.Map keyMap; /** * A key map. If provided, key is replaced with generated key. This structure provides * mapping between user provided key and generated key. * * @param keyMap the value to set * @return this builder */ public Builder keyMap(java.util.Map keyMap) { this.keyMap = keyMap; this.__explicitlySet__.add("keyMap"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public ExternalPublicationSummary build() { ExternalPublicationSummary model = new ExternalPublicationSummary( this.applicationId, this.applicationCompartmentId, this.displayName, this.resourceConfiguration, this.configurationDetails, this.status, this.errorMessage, this.key, this.modelType, this.modelVersion, this.name, this.description, this.objectVersion, this.objectStatus, this.identifier, this.parentRef, this.metadata, this.keyMap); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(ExternalPublicationSummary model) { if (model.wasPropertyExplicitlySet("applicationId")) { this.applicationId(model.getApplicationId()); } if (model.wasPropertyExplicitlySet("applicationCompartmentId")) { this.applicationCompartmentId(model.getApplicationCompartmentId()); } if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } if (model.wasPropertyExplicitlySet("resourceConfiguration")) { this.resourceConfiguration(model.getResourceConfiguration()); } if (model.wasPropertyExplicitlySet("configurationDetails")) { this.configurationDetails(model.getConfigurationDetails()); } if (model.wasPropertyExplicitlySet("status")) { this.status(model.getStatus()); } if (model.wasPropertyExplicitlySet("errorMessage")) { this.errorMessage(model.getErrorMessage()); } if (model.wasPropertyExplicitlySet("key")) { this.key(model.getKey()); } if (model.wasPropertyExplicitlySet("modelType")) { this.modelType(model.getModelType()); } if (model.wasPropertyExplicitlySet("modelVersion")) { this.modelVersion(model.getModelVersion()); } if (model.wasPropertyExplicitlySet("name")) { this.name(model.getName()); } if (model.wasPropertyExplicitlySet("description")) { this.description(model.getDescription()); } if (model.wasPropertyExplicitlySet("objectVersion")) { this.objectVersion(model.getObjectVersion()); } if (model.wasPropertyExplicitlySet("objectStatus")) { this.objectStatus(model.getObjectStatus()); } if (model.wasPropertyExplicitlySet("identifier")) { this.identifier(model.getIdentifier()); } if (model.wasPropertyExplicitlySet("parentRef")) { this.parentRef(model.getParentRef()); } if (model.wasPropertyExplicitlySet("metadata")) { this.metadata(model.getMetadata()); } if (model.wasPropertyExplicitlySet("keyMap")) { this.keyMap(model.getKeyMap()); } return this; } } /** Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } /** * The unique OCID of the identifier that is returned after creating the Oracle Cloud * Infrastructure Data Flow application. */ @com.fasterxml.jackson.annotation.JsonProperty("applicationId") private final String applicationId; /** * The unique OCID of the identifier that is returned after creating the Oracle Cloud * Infrastructure Data Flow application. * * @return the value */ public String getApplicationId() { return applicationId; } /** * The OCID of the compartment where the application is created in the Oracle Cloud * Infrastructure Data Flow Service. */ @com.fasterxml.jackson.annotation.JsonProperty("applicationCompartmentId") private final String applicationCompartmentId; /** * The OCID of the compartment where the application is created in the Oracle Cloud * Infrastructure Data Flow Service. * * @return the value */ public String getApplicationCompartmentId() { return applicationCompartmentId; } /** The name of the application. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private final String displayName; /** * The name of the application. * * @return the value */ public String getDisplayName() { return displayName; } @com.fasterxml.jackson.annotation.JsonProperty("resourceConfiguration") private final ResourceConfiguration resourceConfiguration; public ResourceConfiguration getResourceConfiguration() { return resourceConfiguration; } @com.fasterxml.jackson.annotation.JsonProperty("configurationDetails") private final ConfigurationDetails configurationDetails; public ConfigurationDetails getConfigurationDetails() { return configurationDetails; } /** The status of the publishing action to Oracle Cloud Infrastructure Data Flow. */ public enum Status implements com.oracle.bmc.http.internal.BmcEnum { Successful("SUCCESSFUL"), Failed("FAILED"), Publishing("PUBLISHING"), /** * This value is used if a service returns a value for this enum that is not recognized by * this version of the SDK. */ UnknownEnumValue(null); private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Status.class); private final String value; private static java.util.Map map; static { map = new java.util.HashMap<>(); for (Status v : Status.values()) { if (v != UnknownEnumValue) { map.put(v.getValue(), v); } } } Status(String value) { this.value = value; } @com.fasterxml.jackson.annotation.JsonValue public String getValue() { return value; } @com.fasterxml.jackson.annotation.JsonCreator public static Status create(String key) { if (map.containsKey(key)) { return map.get(key); } LOG.warn( "Received unknown value '{}' for enum 'Status', returning UnknownEnumValue", key); return UnknownEnumValue; } }; /** The status of the publishing action to Oracle Cloud Infrastructure Data Flow. */ @com.fasterxml.jackson.annotation.JsonProperty("status") private final Status status; /** * The status of the publishing action to Oracle Cloud Infrastructure Data Flow. * * @return the value */ public Status getStatus() { return status; } /** The error of the published object in the application. */ @com.fasterxml.jackson.annotation.JsonProperty("errorMessage") private final String errorMessage; /** * The error of the published object in the application. * * @return the value */ public String getErrorMessage() { return errorMessage; } /** The object key. */ @com.fasterxml.jackson.annotation.JsonProperty("key") private final String key; /** * The object key. * * @return the value */ public String getKey() { return key; } /** The object type. */ @com.fasterxml.jackson.annotation.JsonProperty("modelType") private final String modelType; /** * The object type. * * @return the value */ public String getModelType() { return modelType; } /** * This is a version number that is used by the service to upgrade objects if needed through * releases of the service. */ @com.fasterxml.jackson.annotation.JsonProperty("modelVersion") private final String modelVersion; /** * This is a version number that is used by the service to upgrade objects if needed through * releases of the service. * * @return the value */ public String getModelVersion() { return modelVersion; } /** * Free form text without any restriction on permitted characters. Name can have letters, * numbers, and special characters. The value is editable and is restricted to 1000 characters. */ @com.fasterxml.jackson.annotation.JsonProperty("name") private final String name; /** * Free form text without any restriction on permitted characters. Name can have letters, * numbers, and special characters. The value is editable and is restricted to 1000 characters. * * @return the value */ public String getName() { return name; } /** Detailed description for the object. */ @com.fasterxml.jackson.annotation.JsonProperty("description") private final String description; /** * Detailed description for the object. * * @return the value */ public String getDescription() { return description; } /** The version of the object that is used to track changes in the object instance. */ @com.fasterxml.jackson.annotation.JsonProperty("objectVersion") private final Integer objectVersion; /** * The version of the object that is used to track changes in the object instance. * * @return the value */ public Integer getObjectVersion() { return objectVersion; } /** * The status of an object that can be set to value 1 for shallow references across objects. * Other values are reserved. */ @com.fasterxml.jackson.annotation.JsonProperty("objectStatus") private final Integer objectStatus; /** * The status of an object that can be set to value 1 for shallow references across objects. * Other values are reserved. * * @return the value */ public Integer getObjectStatus() { return objectStatus; } /** * Value can only contain upper case letters, underscore, and numbers. It should begin with * upper case letter or underscore. The value can be modified. */ @com.fasterxml.jackson.annotation.JsonProperty("identifier") private final String identifier; /** * Value can only contain upper case letters, underscore, and numbers. It should begin with * upper case letter or underscore. The value can be modified. * * @return the value */ public String getIdentifier() { return identifier; } @com.fasterxml.jackson.annotation.JsonProperty("parentRef") private final ParentReference parentRef; public ParentReference getParentRef() { return parentRef; } @com.fasterxml.jackson.annotation.JsonProperty("metadata") private final ObjectMetadata metadata; public ObjectMetadata getMetadata() { return metadata; } /** * A key map. If provided, key is replaced with generated key. This structure provides mapping * between user provided key and generated key. */ @com.fasterxml.jackson.annotation.JsonProperty("keyMap") private final java.util.Map keyMap; /** * A key map. If provided, key is replaced with generated key. This structure provides mapping * between user provided key and generated key. * * @return the value */ public java.util.Map getKeyMap() { return keyMap; } @Override public String toString() { return this.toString(true); } /** * Return a string representation of the object. * * @param includeByteArrayContents true to include the full contents of byte arrays * @return string representation */ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("ExternalPublicationSummary("); sb.append("super=").append(super.toString()); sb.append("applicationId=").append(String.valueOf(this.applicationId)); sb.append(", applicationCompartmentId=") .append(String.valueOf(this.applicationCompartmentId)); sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", resourceConfiguration=").append(String.valueOf(this.resourceConfiguration)); sb.append(", configurationDetails=").append(String.valueOf(this.configurationDetails)); sb.append(", status=").append(String.valueOf(this.status)); sb.append(", errorMessage=").append(String.valueOf(this.errorMessage)); sb.append(", key=").append(String.valueOf(this.key)); sb.append(", modelType=").append(String.valueOf(this.modelType)); sb.append(", modelVersion=").append(String.valueOf(this.modelVersion)); sb.append(", name=").append(String.valueOf(this.name)); sb.append(", description=").append(String.valueOf(this.description)); sb.append(", objectVersion=").append(String.valueOf(this.objectVersion)); sb.append(", objectStatus=").append(String.valueOf(this.objectStatus)); sb.append(", identifier=").append(String.valueOf(this.identifier)); sb.append(", parentRef=").append(String.valueOf(this.parentRef)); sb.append(", metadata=").append(String.valueOf(this.metadata)); sb.append(", keyMap=").append(String.valueOf(this.keyMap)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof ExternalPublicationSummary)) { return false; } ExternalPublicationSummary other = (ExternalPublicationSummary) o; return java.util.Objects.equals(this.applicationId, other.applicationId) && java.util.Objects.equals( this.applicationCompartmentId, other.applicationCompartmentId) && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.resourceConfiguration, other.resourceConfiguration) && java.util.Objects.equals(this.configurationDetails, other.configurationDetails) && java.util.Objects.equals(this.status, other.status) && java.util.Objects.equals(this.errorMessage, other.errorMessage) && java.util.Objects.equals(this.key, other.key) && java.util.Objects.equals(this.modelType, other.modelType) && java.util.Objects.equals(this.modelVersion, other.modelVersion) && java.util.Objects.equals(this.name, other.name) && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.objectVersion, other.objectVersion) && java.util.Objects.equals(this.objectStatus, other.objectStatus) && java.util.Objects.equals(this.identifier, other.identifier) && java.util.Objects.equals(this.parentRef, other.parentRef) && java.util.Objects.equals(this.metadata, other.metadata) && java.util.Objects.equals(this.keyMap, other.keyMap) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.applicationId == null ? 43 : this.applicationId.hashCode()); result = (result * PRIME) + (this.applicationCompartmentId == null ? 43 : this.applicationCompartmentId.hashCode()); result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.resourceConfiguration == null ? 43 : this.resourceConfiguration.hashCode()); result = (result * PRIME) + (this.configurationDetails == null ? 43 : this.configurationDetails.hashCode()); result = (result * PRIME) + (this.status == null ? 43 : this.status.hashCode()); result = (result * PRIME) + (this.errorMessage == null ? 43 : this.errorMessage.hashCode()); result = (result * PRIME) + (this.key == null ? 43 : this.key.hashCode()); result = (result * PRIME) + (this.modelType == null ? 43 : this.modelType.hashCode()); result = (result * PRIME) + (this.modelVersion == null ? 43 : this.modelVersion.hashCode()); result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); result = (result * PRIME) + (this.objectVersion == null ? 43 : this.objectVersion.hashCode()); result = (result * PRIME) + (this.objectStatus == null ? 43 : this.objectStatus.hashCode()); result = (result * PRIME) + (this.identifier == null ? 43 : this.identifier.hashCode()); result = (result * PRIME) + (this.parentRef == null ? 43 : this.parentRef.hashCode()); result = (result * PRIME) + (this.metadata == null ? 43 : this.metadata.hashCode()); result = (result * PRIME) + (this.keyMap == null ? 43 : this.keyMap.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy