/* * 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; /** *
* Provides application summary information, including the application Amazon Resource Name (ARN), name, and status. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ApplicationSummary implements Serializable, Cloneable, StructuredPojo { /** ** The name of the application. *
*/ private String applicationName; /** ** The ARN of the application. *
*/ private String applicationARN; /** ** The status of the application. *
*/ private String applicationStatus; /** ** Provides the current application version. *
*/ private Long applicationVersionId; /** ** The runtime environment for the application. *
*/ private String runtimeEnvironment; /** *
* For a Kinesis Data Analytics for Apache Flink application, the mode is STREAMING
. For a Kinesis Data
* Analytics Studio notebook, it is INTERACTIVE
.
*
* The name of the application. *
* * @param applicationName * The name of the application. */ public void setApplicationName(String applicationName) { this.applicationName = applicationName; } /** ** The name of the application. *
* * @return The name of the application. */ public String getApplicationName() { return this.applicationName; } /** ** The name of the application. *
* * @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; } /** ** The ARN of the application. *
* * @param applicationARN * The ARN of the application. */ public void setApplicationARN(String applicationARN) { this.applicationARN = applicationARN; } /** ** The ARN of the application. *
* * @return The ARN of the application. */ public String getApplicationARN() { return this.applicationARN; } /** ** The ARN of the application. *
* * @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; } /** ** The status of the application. *
* * @param applicationStatus * The status of the application. * @see ApplicationStatus */ public void setApplicationStatus(String applicationStatus) { this.applicationStatus = applicationStatus; } /** ** The status of the application. *
* * @return The status of the application. * @see ApplicationStatus */ public String getApplicationStatus() { return this.applicationStatus; } /** ** The status of the application. *
* * @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; } /** ** The status of the application. *
* * @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; } /** ** Provides the current application version. *
* * @param applicationVersionId * Provides the current application version. */ public void setApplicationVersionId(Long applicationVersionId) { this.applicationVersionId = applicationVersionId; } /** ** Provides the current application version. *
* * @return Provides the current application version. */ public Long getApplicationVersionId() { return this.applicationVersionId; } /** ** Provides the current application version. *
* * @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; } /** ** The runtime environment for the application. *
* * @param runtimeEnvironment * The runtime environment for the application. * @see RuntimeEnvironment */ public void setRuntimeEnvironment(String runtimeEnvironment) { this.runtimeEnvironment = runtimeEnvironment; } /** ** The runtime environment for the application. *
* * @return The runtime environment for the application. * @see RuntimeEnvironment */ public String getRuntimeEnvironment() { return this.runtimeEnvironment; } /** ** The runtime environment for the application. *
* * @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; } /** ** The runtime environment for the application. *
* * @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; } /** *
* For a Kinesis Data Analytics for Apache Flink application, the mode is STREAMING
. For a Kinesis Data
* Analytics Studio notebook, it is INTERACTIVE
.
*
STREAMING
. For a
* Kinesis Data Analytics Studio notebook, it is INTERACTIVE
.
* @see ApplicationMode
*/
public void setApplicationMode(String applicationMode) {
this.applicationMode = applicationMode;
}
/**
*
* For a Kinesis Data Analytics for Apache Flink application, the mode is STREAMING
. For a Kinesis Data
* Analytics Studio notebook, it is INTERACTIVE
.
*
STREAMING
. For a
* Kinesis Data Analytics Studio notebook, it is INTERACTIVE
.
* @see ApplicationMode
*/
public String getApplicationMode() {
return this.applicationMode;
}
/**
*
* For a Kinesis Data Analytics for Apache Flink application, the mode is STREAMING
. For a Kinesis Data
* Analytics Studio notebook, it is INTERACTIVE
.
*
STREAMING
. For a
* Kinesis Data Analytics Studio notebook, it is INTERACTIVE
.
* @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;
}
/**
*
* For a Kinesis Data Analytics for Apache Flink application, the mode is STREAMING
. For a Kinesis Data
* Analytics Studio notebook, it is INTERACTIVE
.
*
STREAMING
. For a
* Kinesis Data Analytics Studio notebook, it is INTERACTIVE
.
* @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);
}
}