/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.kinesisanalyticsv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * Provides application summary information, including the application Amazon Resource Name (ARN), name, and status. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ApplicationSummary" * target="_top">AWS API Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ApplicationSummary implements Serializable, Cloneable, StructuredPojo { /** * <p> * The name of the application. * </p> */ private String applicationName; /** * <p> * The ARN of the application. * </p> */ private String applicationARN; /** * <p> * The status of the application. * </p> */ private String applicationStatus; /** * <p> * Provides the current application version. * </p> */ private Long applicationVersionId; /** * <p> * The runtime environment for the application. * </p> */ private String runtimeEnvironment; /** * <p> * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a Kinesis Data * Analytics Studio notebook, it is <code>INTERACTIVE</code>. * </p> */ private String applicationMode; /** * <p> * The name of the application. * </p> * * @param applicationName * The name of the application. */ public void setApplicationName(String applicationName) { this.applicationName = applicationName; } /** * <p> * The name of the application. * </p> * * @return The name of the application. */ public String getApplicationName() { return this.applicationName; } /** * <p> * The name of the application. * </p> * * @param applicationName * The name of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationSummary withApplicationName(String applicationName) { setApplicationName(applicationName); return this; } /** * <p> * The ARN of the application. * </p> * * @param applicationARN * The ARN of the application. */ public void setApplicationARN(String applicationARN) { this.applicationARN = applicationARN; } /** * <p> * The ARN of the application. * </p> * * @return The ARN of the application. */ public String getApplicationARN() { return this.applicationARN; } /** * <p> * The ARN of the application. * </p> * * @param applicationARN * The ARN of the application. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationSummary withApplicationARN(String applicationARN) { setApplicationARN(applicationARN); return this; } /** * <p> * The status of the application. * </p> * * @param applicationStatus * The status of the application. * @see ApplicationStatus */ public void setApplicationStatus(String applicationStatus) { this.applicationStatus = applicationStatus; } /** * <p> * The status of the application. * </p> * * @return The status of the application. * @see ApplicationStatus */ public String getApplicationStatus() { return this.applicationStatus; } /** * <p> * The status of the application. * </p> * * @param applicationStatus * The status of the application. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationStatus */ public ApplicationSummary withApplicationStatus(String applicationStatus) { setApplicationStatus(applicationStatus); return this; } /** * <p> * The status of the application. * </p> * * @param applicationStatus * The status of the application. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationStatus */ public ApplicationSummary withApplicationStatus(ApplicationStatus applicationStatus) { this.applicationStatus = applicationStatus.toString(); return this; } /** * <p> * Provides the current application version. * </p> * * @param applicationVersionId * Provides the current application version. */ public void setApplicationVersionId(Long applicationVersionId) { this.applicationVersionId = applicationVersionId; } /** * <p> * Provides the current application version. * </p> * * @return Provides the current application version. */ public Long getApplicationVersionId() { return this.applicationVersionId; } /** * <p> * Provides the current application version. * </p> * * @param applicationVersionId * Provides the current application version. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationSummary withApplicationVersionId(Long applicationVersionId) { setApplicationVersionId(applicationVersionId); return this; } /** * <p> * The runtime environment for the application. * </p> * * @param runtimeEnvironment * The runtime environment for the application. * @see RuntimeEnvironment */ public void setRuntimeEnvironment(String runtimeEnvironment) { this.runtimeEnvironment = runtimeEnvironment; } /** * <p> * The runtime environment for the application. * </p> * * @return The runtime environment for the application. * @see RuntimeEnvironment */ public String getRuntimeEnvironment() { return this.runtimeEnvironment; } /** * <p> * The runtime environment for the application. * </p> * * @param runtimeEnvironment * The runtime environment for the application. * @return Returns a reference to this object so that method calls can be chained together. * @see RuntimeEnvironment */ public ApplicationSummary withRuntimeEnvironment(String runtimeEnvironment) { setRuntimeEnvironment(runtimeEnvironment); return this; } /** * <p> * The runtime environment for the application. * </p> * * @param runtimeEnvironment * The runtime environment for the application. * @return Returns a reference to this object so that method calls can be chained together. * @see RuntimeEnvironment */ public ApplicationSummary withRuntimeEnvironment(RuntimeEnvironment runtimeEnvironment) { this.runtimeEnvironment = runtimeEnvironment.toString(); return this; } /** * <p> * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a Kinesis Data * Analytics Studio notebook, it is <code>INTERACTIVE</code>. * </p> * * @param applicationMode * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a * Kinesis Data Analytics Studio notebook, it is <code>INTERACTIVE</code>. * @see ApplicationMode */ public void setApplicationMode(String applicationMode) { this.applicationMode = applicationMode; } /** * <p> * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a Kinesis Data * Analytics Studio notebook, it is <code>INTERACTIVE</code>. * </p> * * @return For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a * Kinesis Data Analytics Studio notebook, it is <code>INTERACTIVE</code>. * @see ApplicationMode */ public String getApplicationMode() { return this.applicationMode; } /** * <p> * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a Kinesis Data * Analytics Studio notebook, it is <code>INTERACTIVE</code>. * </p> * * @param applicationMode * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a * Kinesis Data Analytics Studio notebook, it is <code>INTERACTIVE</code>. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationMode */ public ApplicationSummary withApplicationMode(String applicationMode) { setApplicationMode(applicationMode); return this; } /** * <p> * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a Kinesis Data * Analytics Studio notebook, it is <code>INTERACTIVE</code>. * </p> * * @param applicationMode * For a Kinesis Data Analytics for Apache Flink application, the mode is <code>STREAMING</code>. For a * Kinesis Data Analytics Studio notebook, it is <code>INTERACTIVE</code>. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationMode */ public ApplicationSummary withApplicationMode(ApplicationMode applicationMode) { this.applicationMode = applicationMode.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getApplicationName() != null) sb.append("ApplicationName: ").append(getApplicationName()).append(","); if (getApplicationARN() != null) sb.append("ApplicationARN: ").append(getApplicationARN()).append(","); if (getApplicationStatus() != null) sb.append("ApplicationStatus: ").append(getApplicationStatus()).append(","); if (getApplicationVersionId() != null) sb.append("ApplicationVersionId: ").append(getApplicationVersionId()).append(","); if (getRuntimeEnvironment() != null) sb.append("RuntimeEnvironment: ").append(getRuntimeEnvironment()).append(","); if (getApplicationMode() != null) sb.append("ApplicationMode: ").append(getApplicationMode()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ApplicationSummary == false) return false; ApplicationSummary other = (ApplicationSummary) obj; if (other.getApplicationName() == null ^ this.getApplicationName() == null) return false; if (other.getApplicationName() != null && other.getApplicationName().equals(this.getApplicationName()) == false) return false; if (other.getApplicationARN() == null ^ this.getApplicationARN() == null) return false; if (other.getApplicationARN() != null && other.getApplicationARN().equals(this.getApplicationARN()) == false) return false; if (other.getApplicationStatus() == null ^ this.getApplicationStatus() == null) return false; if (other.getApplicationStatus() != null && other.getApplicationStatus().equals(this.getApplicationStatus()) == false) return false; if (other.getApplicationVersionId() == null ^ this.getApplicationVersionId() == null) return false; if (other.getApplicationVersionId() != null && other.getApplicationVersionId().equals(this.getApplicationVersionId()) == false) return false; if (other.getRuntimeEnvironment() == null ^ this.getRuntimeEnvironment() == null) return false; if (other.getRuntimeEnvironment() != null && other.getRuntimeEnvironment().equals(this.getRuntimeEnvironment()) == false) return false; if (other.getApplicationMode() == null ^ this.getApplicationMode() == null) return false; if (other.getApplicationMode() != null && other.getApplicationMode().equals(this.getApplicationMode()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getApplicationName() == null) ? 0 : getApplicationName().hashCode()); hashCode = prime * hashCode + ((getApplicationARN() == null) ? 0 : getApplicationARN().hashCode()); hashCode = prime * hashCode + ((getApplicationStatus() == null) ? 0 : getApplicationStatus().hashCode()); hashCode = prime * hashCode + ((getApplicationVersionId() == null) ? 0 : getApplicationVersionId().hashCode()); hashCode = prime * hashCode + ((getRuntimeEnvironment() == null) ? 0 : getRuntimeEnvironment().hashCode()); hashCode = prime * hashCode + ((getApplicationMode() == null) ? 0 : getApplicationMode().hashCode()); return hashCode; } @Override public ApplicationSummary clone() { try { return (ApplicationSummary) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.kinesisanalyticsv2.model.transform.ApplicationSummaryMarshaller.getInstance().marshall(this, protocolMarshaller); } }