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

com.oracle.bmc.dataintegration.model.DerivedEntity 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 Derive entity 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 = DerivedEntity.Builder.class) @com.fasterxml.jackson.annotation.JsonTypeInfo( use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, property = "modelType") @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetFilter.NAME) public final class DerivedEntity extends DataEntity { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { @com.fasterxml.jackson.annotation.JsonProperty("metadata") private ObjectMetadata metadata; public Builder metadata(ObjectMetadata metadata) { this.metadata = metadata; this.__explicitlySet__.add("metadata"); 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's model version. */ @com.fasterxml.jackson.annotation.JsonProperty("modelVersion") private String modelVersion; /** * The object's model version. * * @param modelVersion the value to set * @return this builder */ public Builder modelVersion(String modelVersion) { this.modelVersion = modelVersion; this.__explicitlySet__.add("modelVersion"); 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; } /** * 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; } /** 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; } @com.fasterxml.jackson.annotation.JsonProperty("shape") private Shape shape; public Builder shape(Shape shape) { this.shape = shape; this.__explicitlySet__.add("shape"); return this; } /** The shape ID. */ @com.fasterxml.jackson.annotation.JsonProperty("shapeId") private String shapeId; /** * The shape ID. * * @param shapeId the value to set * @return this builder */ public Builder shapeId(String shapeId) { this.shapeId = shapeId; this.__explicitlySet__.add("shapeId"); return this; } /** The resource name. */ @com.fasterxml.jackson.annotation.JsonProperty("resourceName") private String resourceName; /** * The resource name. * * @param resourceName the value to set * @return this builder */ public Builder resourceName(String resourceName) { this.resourceName = resourceName; this.__explicitlySet__.add("resourceName"); return this; } /** * The status of an object that can be set to value 1 for shallow reference across objects, * other values reserved. */ @com.fasterxml.jackson.annotation.JsonProperty("objectStatus") private Integer objectStatus; /** * The status of an object that can be set to value 1 for shallow reference across objects, * other values 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("refDataObject") private ReferencedDataObject refDataObject; public Builder refDataObject(ReferencedDataObject refDataObject) { this.refDataObject = refDataObject; this.__explicitlySet__.add("refDataObject"); return this; } /** Determines whether entity is treated as source or target */ @com.fasterxml.jackson.annotation.JsonProperty("mode") private Mode mode; /** * Determines whether entity is treated as source or target * * @param mode the value to set * @return this builder */ public Builder mode(Mode mode) { this.mode = mode; this.__explicitlySet__.add("mode"); return this; } /** * Property-bag (key-value pairs where key is Shape Field resource name and value is object) */ @com.fasterxml.jackson.annotation.JsonProperty("derivedProperties") private java.util.Map derivedProperties; /** * Property-bag (key-value pairs where key is Shape Field resource name and value is object) * * @param derivedProperties the value to set * @return this builder */ public Builder derivedProperties(java.util.Map derivedProperties) { this.derivedProperties = derivedProperties; this.__explicitlySet__.add("derivedProperties"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public DerivedEntity build() { DerivedEntity model = new DerivedEntity( this.metadata, this.key, this.modelVersion, this.parentRef, this.name, this.objectVersion, this.shape, this.shapeId, this.resourceName, this.objectStatus, this.identifier, this.refDataObject, this.mode, this.derivedProperties); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(DerivedEntity model) { if (model.wasPropertyExplicitlySet("metadata")) { this.metadata(model.getMetadata()); } if (model.wasPropertyExplicitlySet("key")) { this.key(model.getKey()); } if (model.wasPropertyExplicitlySet("modelVersion")) { this.modelVersion(model.getModelVersion()); } if (model.wasPropertyExplicitlySet("parentRef")) { this.parentRef(model.getParentRef()); } if (model.wasPropertyExplicitlySet("name")) { this.name(model.getName()); } if (model.wasPropertyExplicitlySet("objectVersion")) { this.objectVersion(model.getObjectVersion()); } if (model.wasPropertyExplicitlySet("shape")) { this.shape(model.getShape()); } if (model.wasPropertyExplicitlySet("shapeId")) { this.shapeId(model.getShapeId()); } if (model.wasPropertyExplicitlySet("resourceName")) { this.resourceName(model.getResourceName()); } if (model.wasPropertyExplicitlySet("objectStatus")) { this.objectStatus(model.getObjectStatus()); } if (model.wasPropertyExplicitlySet("identifier")) { this.identifier(model.getIdentifier()); } if (model.wasPropertyExplicitlySet("refDataObject")) { this.refDataObject(model.getRefDataObject()); } if (model.wasPropertyExplicitlySet("mode")) { this.mode(model.getMode()); } if (model.wasPropertyExplicitlySet("derivedProperties")) { this.derivedProperties(model.getDerivedProperties()); } return this; } } /** Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } @Deprecated public DerivedEntity( ObjectMetadata metadata, String key, String modelVersion, ParentReference parentRef, String name, Integer objectVersion, Shape shape, String shapeId, String resourceName, Integer objectStatus, String identifier, ReferencedDataObject refDataObject, Mode mode, java.util.Map derivedProperties) { super(metadata); this.key = key; this.modelVersion = modelVersion; this.parentRef = parentRef; this.name = name; this.objectVersion = objectVersion; this.shape = shape; this.shapeId = shapeId; this.resourceName = resourceName; this.objectStatus = objectStatus; this.identifier = identifier; this.refDataObject = refDataObject; this.mode = mode; this.derivedProperties = derivedProperties; } /** 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's model version. */ @com.fasterxml.jackson.annotation.JsonProperty("modelVersion") private final String modelVersion; /** * The object's model version. * * @return the value */ public String getModelVersion() { return modelVersion; } @com.fasterxml.jackson.annotation.JsonProperty("parentRef") private final ParentReference parentRef; public ParentReference getParentRef() { return parentRef; } /** * 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; } /** 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; } @com.fasterxml.jackson.annotation.JsonProperty("shape") private final Shape shape; public Shape getShape() { return shape; } /** The shape ID. */ @com.fasterxml.jackson.annotation.JsonProperty("shapeId") private final String shapeId; /** * The shape ID. * * @return the value */ public String getShapeId() { return shapeId; } /** The resource name. */ @com.fasterxml.jackson.annotation.JsonProperty("resourceName") private final String resourceName; /** * The resource name. * * @return the value */ public String getResourceName() { return resourceName; } /** * The status of an object that can be set to value 1 for shallow reference across objects, * other values 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 reference across objects, * other values 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("refDataObject") private final ReferencedDataObject refDataObject; public ReferencedDataObject getRefDataObject() { return refDataObject; } /** Determines whether entity is treated as source or target */ public enum Mode implements com.oracle.bmc.http.internal.BmcEnum { In("IN"), Out("OUT"), /** * 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(Mode.class); private final String value; private static java.util.Map map; static { map = new java.util.HashMap<>(); for (Mode v : Mode.values()) { if (v != UnknownEnumValue) { map.put(v.getValue(), v); } } } Mode(String value) { this.value = value; } @com.fasterxml.jackson.annotation.JsonValue public String getValue() { return value; } @com.fasterxml.jackson.annotation.JsonCreator public static Mode create(String key) { if (map.containsKey(key)) { return map.get(key); } LOG.warn( "Received unknown value '{}' for enum 'Mode', returning UnknownEnumValue", key); return UnknownEnumValue; } }; /** Determines whether entity is treated as source or target */ @com.fasterxml.jackson.annotation.JsonProperty("mode") private final Mode mode; /** * Determines whether entity is treated as source or target * * @return the value */ public Mode getMode() { return mode; } /** Property-bag (key-value pairs where key is Shape Field resource name and value is object) */ @com.fasterxml.jackson.annotation.JsonProperty("derivedProperties") private final java.util.Map derivedProperties; /** * Property-bag (key-value pairs where key is Shape Field resource name and value is object) * * @return the value */ public java.util.Map getDerivedProperties() { return derivedProperties; } @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("DerivedEntity("); sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", key=").append(String.valueOf(this.key)); sb.append(", modelVersion=").append(String.valueOf(this.modelVersion)); sb.append(", parentRef=").append(String.valueOf(this.parentRef)); sb.append(", name=").append(String.valueOf(this.name)); sb.append(", objectVersion=").append(String.valueOf(this.objectVersion)); sb.append(", shape=").append(String.valueOf(this.shape)); sb.append(", shapeId=").append(String.valueOf(this.shapeId)); sb.append(", resourceName=").append(String.valueOf(this.resourceName)); sb.append(", objectStatus=").append(String.valueOf(this.objectStatus)); sb.append(", identifier=").append(String.valueOf(this.identifier)); sb.append(", refDataObject=").append(String.valueOf(this.refDataObject)); sb.append(", mode=").append(String.valueOf(this.mode)); sb.append(", derivedProperties=").append(String.valueOf(this.derivedProperties)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof DerivedEntity)) { return false; } DerivedEntity other = (DerivedEntity) o; return java.util.Objects.equals(this.key, other.key) && java.util.Objects.equals(this.modelVersion, other.modelVersion) && java.util.Objects.equals(this.parentRef, other.parentRef) && java.util.Objects.equals(this.name, other.name) && java.util.Objects.equals(this.objectVersion, other.objectVersion) && java.util.Objects.equals(this.shape, other.shape) && java.util.Objects.equals(this.shapeId, other.shapeId) && java.util.Objects.equals(this.resourceName, other.resourceName) && java.util.Objects.equals(this.objectStatus, other.objectStatus) && java.util.Objects.equals(this.identifier, other.identifier) && java.util.Objects.equals(this.refDataObject, other.refDataObject) && java.util.Objects.equals(this.mode, other.mode) && java.util.Objects.equals(this.derivedProperties, other.derivedProperties) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.key == null ? 43 : this.key.hashCode()); result = (result * PRIME) + (this.modelVersion == null ? 43 : this.modelVersion.hashCode()); result = (result * PRIME) + (this.parentRef == null ? 43 : this.parentRef.hashCode()); result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); result = (result * PRIME) + (this.objectVersion == null ? 43 : this.objectVersion.hashCode()); result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode()); result = (result * PRIME) + (this.shapeId == null ? 43 : this.shapeId.hashCode()); result = (result * PRIME) + (this.resourceName == null ? 43 : this.resourceName.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.refDataObject == null ? 43 : this.refDataObject.hashCode()); result = (result * PRIME) + (this.mode == null ? 43 : this.mode.hashCode()); result = (result * PRIME) + (this.derivedProperties == null ? 43 : this.derivedProperties.hashCode()); return result; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy