software.amazon.awssdk.services.sfn.model.StartExecutionResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stepfunctions Show documentation
Show all versions of stepfunctions Show documentation
The AWS Java SDK for AWS Step Functions module holds the client classes that are used for communicating
with AWS Step Functions.
/*
* 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.time.Instant;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Generated;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public class StartExecutionResponse extends SFNResponse implements
ToCopyableBuilder {
private final String executionArn;
private final Instant startDate;
private StartExecutionResponse(BuilderImpl builder) {
super(builder);
this.executionArn = builder.executionArn;
this.startDate = builder.startDate;
}
/**
*
* 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 date the execution is started.
*
*
* @return The date the execution is started.
*/
public Instant startDate() {
return startDate;
}
@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 + Objects.hashCode(executionArn());
hashCode = 31 * hashCode + Objects.hashCode(startDate());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof StartExecutionResponse)) {
return false;
}
StartExecutionResponse other = (StartExecutionResponse) obj;
return Objects.equals(executionArn(), other.executionArn()) && Objects.equals(startDate(), other.startDate());
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("{");
if (executionArn() != null) {
sb.append("ExecutionArn: ").append(executionArn()).append(",");
}
if (startDate() != null) {
sb.append("StartDate: ").append(startDate()).append(",");
}
if (sb.length() > 1) {
sb.setLength(sb.length() - 1);
}
sb.append("}");
return sb.toString();
}
public Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "executionArn":
return Optional.of(clazz.cast(executionArn()));
case "startDate":
return Optional.of(clazz.cast(startDate()));
default:
return Optional.empty();
}
}
public interface Builder extends SFNResponse.Builder, 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 date the execution is started.
*
*
* @param startDate
* The date the execution is started.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder startDate(Instant startDate);
}
static final class BuilderImpl extends SFNResponse.BuilderImpl implements Builder {
private String executionArn;
private Instant startDate;
private BuilderImpl() {
}
private BuilderImpl(StartExecutionResponse model) {
executionArn(model.executionArn);
startDate(model.startDate);
}
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 Instant getStartDate() {
return startDate;
}
@Override
public final Builder startDate(Instant startDate) {
this.startDate = startDate;
return this;
}
public final void setStartDate(Instant startDate) {
this.startDate = startDate;
}
@Override
public StartExecutionResponse build() {
return new StartExecutionResponse(this);
}
}
}