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

com.amazonaws.services.simpleworkflow.model.StartTimerDecisionAttributes Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.simpleworkflow.model;

import java.io.Serializable;

/**
 * 

* Provides details of the StartTimer decision. *

*

* Access Control *

*

* You can use IAM policies to control this decision's access to Amazon SWF * resources as follows: *

*
    *
  • Use a Resource element with the domain name to limit the * action to only specified domains.
  • *
  • Use an Action element to allow or deny permission to call * this action.
  • *
  • You cannot use an IAM policy to constrain this action's parameters.
  • *
*

* If the caller does not have sufficient permissions to invoke the action, or * the parameter values fall outside the specified constraints, the action * fails. The associated event attribute's cause parameter will be set to * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows. *

*/ public class StartTimerDecisionAttributes implements Serializable, Cloneable { /** *

* Required. The unique ID of the timer. *

*

* The specified string must not start or end with whitespace. It must not * contain a : (colon), / (slash), | * (vertical bar), or any control characters (\u0000-\u001f | \u007f - * \u009f). Also, it must not contain the literal string quotarnquot. *

*/ private String timerId; /** *

* Optional. Data attached to the event that can be used by the * decider in subsequent workflow tasks. *

*/ private String control; /** *

* Required. The duration to wait before firing the timer. *

*

* The duration is specified in seconds; an integer greater than or equal to * 0. *

*/ private String startToFireTimeout; /** *

* Required. The unique ID of the timer. *

*

* The specified string must not start or end with whitespace. It must not * contain a : (colon), / (slash), | * (vertical bar), or any control characters (\u0000-\u001f | \u007f - * \u009f). Also, it must not contain the literal string quotarnquot. *

* * @param timerId * Required. The unique ID of the timer.

*

* The specified string must not start or end with whitespace. It * must not contain a : (colon), / (slash), * | */ public void setTimerId(String timerId) { this.timerId = timerId; } /** *

* Required. The unique ID of the timer. *

*

* The specified string must not start or end with whitespace. It must not * contain a : (colon), / (slash), | * (vertical bar), or any control characters (\u0000-\u001f | \u007f - * \u009f). Also, it must not contain the literal string quotarnquot. *

* * @return Required. The unique ID of the timer.

*

* The specified string must not start or end with whitespace. It * must not contain a : (colon), / * (slash), | */ public String getTimerId() { return this.timerId; } /** *

* Required. The unique ID of the timer. *

*

* The specified string must not start or end with whitespace. It must not * contain a : (colon), / (slash), | * (vertical bar), or any control characters (\u0000-\u001f | \u007f - * \u009f). Also, it must not contain the literal string quotarnquot. *

* * @param timerId * Required. The unique ID of the timer.

*

* The specified string must not start or end with whitespace. It * must not contain a : (colon), / (slash), * | * @return Returns a reference to this object so that method calls can be * chained together. */ public StartTimerDecisionAttributes withTimerId(String timerId) { setTimerId(timerId); return this; } /** *

* Optional. Data attached to the event that can be used by the * decider in subsequent workflow tasks. *

* * @param control * Optional. */ public void setControl(String control) { this.control = control; } /** *

* Optional. Data attached to the event that can be used by the * decider in subsequent workflow tasks. *

* * @return Optional. */ public String getControl() { return this.control; } /** *

* Optional. Data attached to the event that can be used by the * decider in subsequent workflow tasks. *

* * @param control * Optional. * @return Returns a reference to this object so that method calls can be * chained together. */ public StartTimerDecisionAttributes withControl(String control) { setControl(control); return this; } /** *

* Required. The duration to wait before firing the timer. *

*

* The duration is specified in seconds; an integer greater than or equal to * 0. *

* * @param startToFireTimeout * Required. The duration to wait before firing the timer.

*/ public void setStartToFireTimeout(String startToFireTimeout) { this.startToFireTimeout = startToFireTimeout; } /** *

* Required. The duration to wait before firing the timer. *

*

* The duration is specified in seconds; an integer greater than or equal to * 0. *

* * @return Required. The duration to wait before firing the timer.

*/ public String getStartToFireTimeout() { return this.startToFireTimeout; } /** *

* Required. The duration to wait before firing the timer. *

*

* The duration is specified in seconds; an integer greater than or equal to * 0. *

* * @param startToFireTimeout * Required. The duration to wait before firing the timer.

* @return Returns a reference to this object so that method calls can be * chained together. */ public StartTimerDecisionAttributes withStartToFireTimeout( String startToFireTimeout) { setStartToFireTimeout(startToFireTimeout); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getTimerId() != null) sb.append("TimerId: " + getTimerId() + ","); if (getControl() != null) sb.append("Control: " + getControl() + ","); if (getStartToFireTimeout() != null) sb.append("StartToFireTimeout: " + getStartToFireTimeout()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof StartTimerDecisionAttributes == false) return false; StartTimerDecisionAttributes other = (StartTimerDecisionAttributes) obj; if (other.getTimerId() == null ^ this.getTimerId() == null) return false; if (other.getTimerId() != null && other.getTimerId().equals(this.getTimerId()) == false) return false; if (other.getControl() == null ^ this.getControl() == null) return false; if (other.getControl() != null && other.getControl().equals(this.getControl()) == false) return false; if (other.getStartToFireTimeout() == null ^ this.getStartToFireTimeout() == null) return false; if (other.getStartToFireTimeout() != null && other.getStartToFireTimeout().equals( this.getStartToFireTimeout()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTimerId() == null) ? 0 : getTimerId().hashCode()); hashCode = prime * hashCode + ((getControl() == null) ? 0 : getControl().hashCode()); hashCode = prime * hashCode + ((getStartToFireTimeout() == null) ? 0 : getStartToFireTimeout().hashCode()); return hashCode; } @Override public StartTimerDecisionAttributes clone() { try { return (StartTimerDecisionAttributes) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }