software.amazon.awssdk.services.sfn.model.ExecutionListItem Maven / Gradle / Ivy
Show all versions of stepfunctions Show documentation
/*
* Copyright 2012-2017 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 software.amazon.awssdk.services.sfn.model;
import java.util.Date;
import javax.annotation.Generated;
import software.amazon.awssdk.annotation.SdkInternalApi;
import software.amazon.awssdk.protocol.ProtocolMarshaller;
import software.amazon.awssdk.protocol.StructuredPojo;
import software.amazon.awssdk.runtime.StandardMemberCopier;
import software.amazon.awssdk.services.sfn.transform.ExecutionListItemMarshaller;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public class ExecutionListItem implements StructuredPojo, ToCopyableBuilder {
private final String executionArn;
private final String stateMachineArn;
private final String name;
private final String status;
private final Date startDate;
private final Date stopDate;
private ExecutionListItem(BuilderImpl builder) {
this.executionArn = builder.executionArn;
this.stateMachineArn = builder.stateMachineArn;
this.name = builder.name;
this.status = builder.status;
this.startDate = builder.startDate;
this.stopDate = builder.stopDate;
}
/**
*
* The Amazon Resource Name (ARN) that identifies the execution.
*
*
* @return The Amazon Resource Name (ARN) that identifies the execution.
*/
public String executionArn() {
return executionArn;
}
/**
*
* The Amazon Resource Name (ARN) of the executed state machine.
*
*
* @return The Amazon Resource Name (ARN) of the executed state machine.
*/
public String stateMachineArn() {
return stateMachineArn;
}
/**
*
* The name of the execution.
*
*
* @return The name of the execution.
*/
public String name() {
return name;
}
/**
*
* The current status of the execution.
*
*
* @return The current status of the execution.
* @see ExecutionStatus
*/
public String status() {
return status;
}
/**
*
* The date the execution started.
*
*
* @return The date the execution started.
*/
public Date startDate() {
return startDate;
}
/**
*
* If the execution already ended, the date the execution stopped.
*
*
* @return If the execution already ended, the date the execution stopped.
*/
public Date stopDate() {
return stopDate;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + ((executionArn() == null) ? 0 : executionArn().hashCode());
hashCode = 31 * hashCode + ((stateMachineArn() == null) ? 0 : stateMachineArn().hashCode());
hashCode = 31 * hashCode + ((name() == null) ? 0 : name().hashCode());
hashCode = 31 * hashCode + ((status() == null) ? 0 : status().hashCode());
hashCode = 31 * hashCode + ((startDate() == null) ? 0 : startDate().hashCode());
hashCode = 31 * hashCode + ((stopDate() == null) ? 0 : stopDate().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof ExecutionListItem)) {
return false;
}
ExecutionListItem other = (ExecutionListItem) obj;
if (other.executionArn() == null ^ this.executionArn() == null) {
return false;
}
if (other.executionArn() != null && !other.executionArn().equals(this.executionArn())) {
return false;
}
if (other.stateMachineArn() == null ^ this.stateMachineArn() == null) {
return false;
}
if (other.stateMachineArn() != null && !other.stateMachineArn().equals(this.stateMachineArn())) {
return false;
}
if (other.name() == null ^ this.name() == null) {
return false;
}
if (other.name() != null && !other.name().equals(this.name())) {
return false;
}
if (other.status() == null ^ this.status() == null) {
return false;
}
if (other.status() != null && !other.status().equals(this.status())) {
return false;
}
if (other.startDate() == null ^ this.startDate() == null) {
return false;
}
if (other.startDate() != null && !other.startDate().equals(this.startDate())) {
return false;
}
if (other.stopDate() == null ^ this.stopDate() == null) {
return false;
}
if (other.stopDate() != null && !other.stopDate().equals(this.stopDate())) {
return false;
}
return true;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (executionArn() != null) {
sb.append("ExecutionArn: ").append(executionArn()).append(",");
}
if (stateMachineArn() != null) {
sb.append("StateMachineArn: ").append(stateMachineArn()).append(",");
}
if (name() != null) {
sb.append("Name: ").append(name()).append(",");
}
if (status() != null) {
sb.append("Status: ").append(status()).append(",");
}
if (startDate() != null) {
sb.append("StartDate: ").append(startDate()).append(",");
}
if (stopDate() != null) {
sb.append("StopDate: ").append(stopDate()).append(",");
}
sb.append("}");
return sb.toString();
}
@SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
ExecutionListItemMarshaller.getInstance().marshall(this, protocolMarshaller);
}
public interface Builder extends CopyableBuilder {
/**
*
* The Amazon Resource Name (ARN) that identifies the execution.
*
*
* @param executionArn
* The Amazon Resource Name (ARN) that identifies the execution.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder executionArn(String executionArn);
/**
*
* The Amazon Resource Name (ARN) of the executed state machine.
*
*
* @param stateMachineArn
* The Amazon Resource Name (ARN) of the executed state machine.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder stateMachineArn(String stateMachineArn);
/**
*
* The name of the execution.
*
*
* @param name
* The name of the execution.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder name(String name);
/**
*
* The current status of the execution.
*
*
* @param status
* The current status of the execution.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ExecutionStatus
*/
Builder status(String status);
/**
*
* The current status of the execution.
*
*
* @param status
* The current status of the execution.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ExecutionStatus
*/
Builder status(ExecutionStatus status);
/**
*
* The date the execution started.
*
*
* @param startDate
* The date the execution started.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder startDate(Date startDate);
/**
*
* If the execution already ended, the date the execution stopped.
*
*
* @param stopDate
* If the execution already ended, the date the execution stopped.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder stopDate(Date stopDate);
}
private static final class BuilderImpl implements Builder {
private String executionArn;
private String stateMachineArn;
private String name;
private String status;
private Date startDate;
private Date stopDate;
private BuilderImpl() {
}
private BuilderImpl(ExecutionListItem model) {
setExecutionArn(model.executionArn);
setStateMachineArn(model.stateMachineArn);
setName(model.name);
setStatus(model.status);
setStartDate(model.startDate);
setStopDate(model.stopDate);
}
public final String getExecutionArn() {
return executionArn;
}
@Override
public final Builder executionArn(String executionArn) {
this.executionArn = executionArn;
return this;
}
public final void setExecutionArn(String executionArn) {
this.executionArn = executionArn;
}
public final String getStateMachineArn() {
return stateMachineArn;
}
@Override
public final Builder stateMachineArn(String stateMachineArn) {
this.stateMachineArn = stateMachineArn;
return this;
}
public final void setStateMachineArn(String stateMachineArn) {
this.stateMachineArn = stateMachineArn;
}
public final String getName() {
return name;
}
@Override
public final Builder name(String name) {
this.name = name;
return this;
}
public final void setName(String name) {
this.name = name;
}
public final String getStatus() {
return status;
}
@Override
public final Builder status(String status) {
this.status = status;
return this;
}
@Override
public final Builder status(ExecutionStatus status) {
this.status(status.toString());
return this;
}
public final void setStatus(String status) {
this.status = status;
}
public final void setStatus(ExecutionStatus status) {
this.status(status.toString());
}
public final Date getStartDate() {
return startDate;
}
@Override
public final Builder startDate(Date startDate) {
this.startDate = StandardMemberCopier.copy(startDate);
return this;
}
public final void setStartDate(Date startDate) {
this.startDate = StandardMemberCopier.copy(startDate);
}
public final Date getStopDate() {
return stopDate;
}
@Override
public final Builder stopDate(Date stopDate) {
this.stopDate = StandardMemberCopier.copy(stopDate);
return this;
}
public final void setStopDate(Date stopDate) {
this.stopDate = StandardMemberCopier.copy(stopDate);
}
@Override
public ExecutionListItem build() {
return new ExecutionListItem(this);
}
}
}