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

com.oracle.bmc.streaming.model.Stream Maven / Gradle / Ivy

Go to download

This project contains the SDK distribution used for Oracle Cloud Infrastructure, and all the dependencies that can be shaded. It also has Maven dependencies that cannot be shaded. Therefore, use this module to depend on the shaded distribution via Maven -- it will shade everything that can be shaded, and automatically pull in the other dependencies.

There is a newer version: 3.55.2
Show newest version
/**
 * Copyright (c) 2016, 2024, 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.streaming.model;

/**
 * Detailed representation of a stream, including all its partitions. 
* 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 Builder#__explicitlySet__}. The {@link * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set * fields into account. The constructor, on the other hand, does not take the explicitly set fields * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code * null}). */ @jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Stream.Builder.class) @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) public final class Stream extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated @java.beans.ConstructorProperties({ "name", "id", "partitions", "retentionInHours", "compartmentId", "streamPoolId", "lifecycleState", "lifecycleStateDetails", "timeCreated", "messagesEndpoint", "freeformTags", "definedTags" }) public Stream( String name, String id, Integer partitions, Integer retentionInHours, String compartmentId, String streamPoolId, LifecycleState lifecycleState, String lifecycleStateDetails, java.util.Date timeCreated, String messagesEndpoint, java.util.Map freeformTags, java.util.Map> definedTags) { super(); this.name = name; this.id = id; this.partitions = partitions; this.retentionInHours = retentionInHours; this.compartmentId = compartmentId; this.streamPoolId = streamPoolId; this.lifecycleState = lifecycleState; this.lifecycleStateDetails = lifecycleStateDetails; this.timeCreated = timeCreated; this.messagesEndpoint = messagesEndpoint; this.freeformTags = freeformTags; this.definedTags = definedTags; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { /** * The name of the stream. Avoid entering confidential information. * *

Example: {@code TelemetryEvents} */ @com.fasterxml.jackson.annotation.JsonProperty("name") private String name; /** * The name of the stream. Avoid entering confidential information. * *

Example: {@code TelemetryEvents} * * @param name the value to set * @return this builder */ public Builder name(String name) { this.name = name; this.__explicitlySet__.add("name"); return this; } /** The OCID of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; /** * The OCID of the stream. * * @param id the value to set * @return this builder */ public Builder id(String id) { this.id = id; this.__explicitlySet__.add("id"); return this; } /** The number of partitions in the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("partitions") private Integer partitions; /** * The number of partitions in the stream. * * @param partitions the value to set * @return this builder */ public Builder partitions(Integer partitions) { this.partitions = partitions; this.__explicitlySet__.add("partitions"); return this; } /** The retention period of the stream, in hours. This property is read-only. */ @com.fasterxml.jackson.annotation.JsonProperty("retentionInHours") private Integer retentionInHours; /** * The retention period of the stream, in hours. This property is read-only. * * @param retentionInHours the value to set * @return this builder */ public Builder retentionInHours(Integer retentionInHours) { this.retentionInHours = retentionInHours; this.__explicitlySet__.add("retentionInHours"); return this; } /** The OCID of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private String compartmentId; /** * The OCID of the stream. * * @param compartmentId the value to set * @return this builder */ public Builder compartmentId(String compartmentId) { this.compartmentId = compartmentId; this.__explicitlySet__.add("compartmentId"); return this; } /** The OCID of the stream pool that contains the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("streamPoolId") private String streamPoolId; /** * The OCID of the stream pool that contains the stream. * * @param streamPoolId the value to set * @return this builder */ public Builder streamPoolId(String streamPoolId) { this.streamPoolId = streamPoolId; this.__explicitlySet__.add("streamPoolId"); return this; } /** The current state of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; /** * The current state of the stream. * * @param lifecycleState the value to set * @return this builder */ public Builder lifecycleState(LifecycleState lifecycleState) { this.lifecycleState = lifecycleState; this.__explicitlySet__.add("lifecycleState"); return this; } /** Any additional details about the current state of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleStateDetails") private String lifecycleStateDetails; /** * Any additional details about the current state of the stream. * * @param lifecycleStateDetails the value to set * @return this builder */ public Builder lifecycleStateDetails(String lifecycleStateDetails) { this.lifecycleStateDetails = lifecycleStateDetails; this.__explicitlySet__.add("lifecycleStateDetails"); return this; } /** * The date and time the stream was created, expressed in in [RFC * 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. * *

Example: {@code 2018-04-20T00:00:07.405Z} */ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private java.util.Date timeCreated; /** * The date and time the stream was created, expressed in in [RFC * 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. * *

Example: {@code 2018-04-20T00:00:07.405Z} * * @param timeCreated the value to set * @return this builder */ public Builder timeCreated(java.util.Date timeCreated) { this.timeCreated = timeCreated; this.__explicitlySet__.add("timeCreated"); return this; } /** * The endpoint to use when creating the StreamClient to consume or publish messages in the * stream. If the associated stream pool is private, the endpoint is also private and can * only be accessed from inside the stream pool's associated subnet. */ @com.fasterxml.jackson.annotation.JsonProperty("messagesEndpoint") private String messagesEndpoint; /** * The endpoint to use when creating the StreamClient to consume or publish messages in the * stream. If the associated stream pool is private, the endpoint is also private and can * only be accessed from inside the stream pool's associated subnet. * * @param messagesEndpoint the value to set * @return this builder */ public Builder messagesEndpoint(String messagesEndpoint) { this.messagesEndpoint = messagesEndpoint; this.__explicitlySet__.add("messagesEndpoint"); return this; } /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. Exists for cross-compatibility only. For more information, see * [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} */ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private java.util.Map freeformTags; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. Exists for cross-compatibility only. For more information, see * [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} * * @param freeformTags the value to set * @return this builder */ public Builder freeformTags(java.util.Map freeformTags) { this.freeformTags = freeformTags; this.__explicitlySet__.add("freeformTags"); return this; } /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For * more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {"Operations": {"CostCenter": "42"}}' */ @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private java.util.Map> definedTags; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For * more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {"Operations": {"CostCenter": "42"}}' * * @param definedTags the value to set * @return this builder */ public Builder definedTags( java.util.Map> definedTags) { this.definedTags = definedTags; this.__explicitlySet__.add("definedTags"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public Stream build() { Stream model = new Stream( this.name, this.id, this.partitions, this.retentionInHours, this.compartmentId, this.streamPoolId, this.lifecycleState, this.lifecycleStateDetails, this.timeCreated, this.messagesEndpoint, this.freeformTags, this.definedTags); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(Stream model) { if (model.wasPropertyExplicitlySet("name")) { this.name(model.getName()); } if (model.wasPropertyExplicitlySet("id")) { this.id(model.getId()); } if (model.wasPropertyExplicitlySet("partitions")) { this.partitions(model.getPartitions()); } if (model.wasPropertyExplicitlySet("retentionInHours")) { this.retentionInHours(model.getRetentionInHours()); } if (model.wasPropertyExplicitlySet("compartmentId")) { this.compartmentId(model.getCompartmentId()); } if (model.wasPropertyExplicitlySet("streamPoolId")) { this.streamPoolId(model.getStreamPoolId()); } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } if (model.wasPropertyExplicitlySet("lifecycleStateDetails")) { this.lifecycleStateDetails(model.getLifecycleStateDetails()); } if (model.wasPropertyExplicitlySet("timeCreated")) { this.timeCreated(model.getTimeCreated()); } if (model.wasPropertyExplicitlySet("messagesEndpoint")) { this.messagesEndpoint(model.getMessagesEndpoint()); } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } if (model.wasPropertyExplicitlySet("definedTags")) { this.definedTags(model.getDefinedTags()); } return this; } } /** Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } /** * The name of the stream. Avoid entering confidential information. * *

Example: {@code TelemetryEvents} */ @com.fasterxml.jackson.annotation.JsonProperty("name") private final String name; /** * The name of the stream. Avoid entering confidential information. * *

Example: {@code TelemetryEvents} * * @return the value */ public String getName() { return name; } /** The OCID of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private final String id; /** * The OCID of the stream. * * @return the value */ public String getId() { return id; } /** The number of partitions in the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("partitions") private final Integer partitions; /** * The number of partitions in the stream. * * @return the value */ public Integer getPartitions() { return partitions; } /** The retention period of the stream, in hours. This property is read-only. */ @com.fasterxml.jackson.annotation.JsonProperty("retentionInHours") private final Integer retentionInHours; /** * The retention period of the stream, in hours. This property is read-only. * * @return the value */ public Integer getRetentionInHours() { return retentionInHours; } /** The OCID of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private final String compartmentId; /** * The OCID of the stream. * * @return the value */ public String getCompartmentId() { return compartmentId; } /** The OCID of the stream pool that contains the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("streamPoolId") private final String streamPoolId; /** * The OCID of the stream pool that contains the stream. * * @return the value */ public String getStreamPoolId() { return streamPoolId; } /** The current state of the stream. */ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Creating("CREATING"), Active("ACTIVE"), Deleting("DELETING"), Deleted("DELETED"), Failed("FAILED"), Updating("UPDATING"), /** * 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(LifecycleState.class); private final String value; private static java.util.Map map; static { map = new java.util.HashMap<>(); for (LifecycleState v : LifecycleState.values()) { if (v != UnknownEnumValue) { map.put(v.getValue(), v); } } } LifecycleState(String value) { this.value = value; } @com.fasterxml.jackson.annotation.JsonValue public String getValue() { return value; } @com.fasterxml.jackson.annotation.JsonCreator public static LifecycleState create(String key) { if (map.containsKey(key)) { return map.get(key); } LOG.warn( "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", key); return UnknownEnumValue; } }; /** The current state of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private final LifecycleState lifecycleState; /** * The current state of the stream. * * @return the value */ public LifecycleState getLifecycleState() { return lifecycleState; } /** Any additional details about the current state of the stream. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleStateDetails") private final String lifecycleStateDetails; /** * Any additional details about the current state of the stream. * * @return the value */ public String getLifecycleStateDetails() { return lifecycleStateDetails; } /** * The date and time the stream was created, expressed in in [RFC * 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. * *

Example: {@code 2018-04-20T00:00:07.405Z} */ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private final java.util.Date timeCreated; /** * The date and time the stream was created, expressed in in [RFC * 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. * *

Example: {@code 2018-04-20T00:00:07.405Z} * * @return the value */ public java.util.Date getTimeCreated() { return timeCreated; } /** * The endpoint to use when creating the StreamClient to consume or publish messages in the * stream. If the associated stream pool is private, the endpoint is also private and can only * be accessed from inside the stream pool's associated subnet. */ @com.fasterxml.jackson.annotation.JsonProperty("messagesEndpoint") private final String messagesEndpoint; /** * The endpoint to use when creating the StreamClient to consume or publish messages in the * stream. If the associated stream pool is private, the endpoint is also private and can only * be accessed from inside the stream pool's associated subnet. * * @return the value */ public String getMessagesEndpoint() { return messagesEndpoint; } /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. Exists for cross-compatibility only. For more information, see * [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} */ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private final java.util.Map freeformTags; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. Exists for cross-compatibility only. For more information, see * [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} * * @return the value */ public java.util.Map getFreeformTags() { return freeformTags; } /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {"Operations": {"CostCenter": "42"}}' */ @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private final java.util.Map> definedTags; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {"Operations": {"CostCenter": "42"}}' * * @return the value */ public java.util.Map> getDefinedTags() { return definedTags; } @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("Stream("); sb.append("super=").append(super.toString()); sb.append("name=").append(String.valueOf(this.name)); sb.append(", id=").append(String.valueOf(this.id)); sb.append(", partitions=").append(String.valueOf(this.partitions)); sb.append(", retentionInHours=").append(String.valueOf(this.retentionInHours)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", streamPoolId=").append(String.valueOf(this.streamPoolId)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", lifecycleStateDetails=").append(String.valueOf(this.lifecycleStateDetails)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", messagesEndpoint=").append(String.valueOf(this.messagesEndpoint)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof Stream)) { return false; } Stream other = (Stream) o; return java.util.Objects.equals(this.name, other.name) && java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.partitions, other.partitions) && java.util.Objects.equals(this.retentionInHours, other.retentionInHours) && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.streamPoolId, other.streamPoolId) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.lifecycleStateDetails, other.lifecycleStateDetails) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.messagesEndpoint, other.messagesEndpoint) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.partitions == null ? 43 : this.partitions.hashCode()); result = (result * PRIME) + (this.retentionInHours == null ? 43 : this.retentionInHours.hashCode()); result = (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.streamPoolId == null ? 43 : this.streamPoolId.hashCode()); result = (result * PRIME) + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.lifecycleStateDetails == null ? 43 : this.lifecycleStateDetails.hashCode()); result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + (this.messagesEndpoint == null ? 43 : this.messagesEndpoint.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy