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

org.projectodd.openwhisk.model.Rule Maven / Gradle / Ivy

There is a newer version: 0.8
Show newest version
/*
 * OpenWhisk REST API
 * API for OpenWhisk
 *
 * OpenAPI spec version: 0.1.0
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */


package org.projectodd.openwhisk.model;

import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * Rule
 */

public class Rule {
  @JsonProperty("namespace")
  private String namespace = null;

  @JsonProperty("name")
  private String name = null;

  @JsonProperty("version")
  private String version = null;

  @JsonProperty("publish")
  private Boolean publish = null;

  /**
   * Status of a rule
   */
  public enum StatusEnum {
    ACTIVE("active"),
    
    INACTIVE("inactive"),
    
    ACTIVATING("activating"),
    
    DEACTIVATING("deactivating");

    private String value;

    StatusEnum(String value) {
      this.value = value;
    }

    @JsonValue
    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    @JsonCreator
    public static StatusEnum fromValue(String text) {
      for (StatusEnum b : StatusEnum.values()) {
        if (String.valueOf(b.value).equals(text)) {
          return b;
        }
      }
      return null;
    }
  }

  @JsonProperty("status")
  private StatusEnum status = null;

  @JsonProperty("trigger")
  private String trigger = null;

  @JsonProperty("action")
  private String action = null;

  public Rule namespace(String namespace) {
    this.namespace = namespace;
    return this;
  }

   /**
   * Namespace of the item
   * @return namespace
  **/
  @ApiModelProperty(required = true, value = "Namespace of the item")
  public String getNamespace() {
    return namespace;
  }

  public void setNamespace(String namespace) {
    this.namespace = namespace;
  }

  public Rule name(String name) {
    this.name = name;
    return this;
  }

   /**
   * Name of the item
   * @return name
  **/
  @ApiModelProperty(required = true, value = "Name of the item")
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Rule version(String version) {
    this.version = version;
    return this;
  }

   /**
   * Semantic version of the item
   * @return version
  **/
  @ApiModelProperty(required = true, value = "Semantic version of the item")
  public String getVersion() {
    return version;
  }

  public void setVersion(String version) {
    this.version = version;
  }

  public Rule publish(Boolean publish) {
    this.publish = publish;
    return this;
  }

   /**
   * Whether to publish the item or not
   * @return publish
  **/
  @ApiModelProperty(required = true, value = "Whether to publish the item or not")
  public Boolean isPublish() {
    return publish;
  }

  public void setPublish(Boolean publish) {
    this.publish = publish;
  }

  public Rule status(StatusEnum status) {
    this.status = status;
    return this;
  }

   /**
   * Status of a rule
   * @return status
  **/
  @ApiModelProperty(required = true, value = "Status of a rule")
  public StatusEnum getStatus() {
    return status;
  }

  public void setStatus(StatusEnum status) {
    this.status = status;
  }

  public Rule trigger(String trigger) {
    this.trigger = trigger;
    return this;
  }

   /**
   * Name of the trigger
   * @return trigger
  **/
  @ApiModelProperty(required = true, value = "Name of the trigger")
  public String getTrigger() {
    return trigger;
  }

  public void setTrigger(String trigger) {
    this.trigger = trigger;
  }

  public Rule action(String action) {
    this.action = action;
    return this;
  }

   /**
   * Name of the action
   * @return action
  **/
  @ApiModelProperty(required = true, value = "Name of the action")
  public String getAction() {
    return action;
  }

  public void setAction(String action) {
    this.action = action;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    Rule rule = (Rule) o;
    return Objects.equals(this.namespace, rule.namespace) &&
        Objects.equals(this.name, rule.name) &&
        Objects.equals(this.version, rule.version) &&
        Objects.equals(this.publish, rule.publish) &&
        Objects.equals(this.status, rule.status) &&
        Objects.equals(this.trigger, rule.trigger) &&
        Objects.equals(this.action, rule.action);
  }

  @Override
  public int hashCode() {
    return Objects.hash(namespace, name, version, publish, status, trigger, action);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class Rule {\n");
    
    sb.append("    namespace: ").append(toIndentedString(namespace)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    version: ").append(toIndentedString(version)).append("\n");
    sb.append("    publish: ").append(toIndentedString(publish)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    trigger: ").append(toIndentedString(trigger)).append("\n");
    sb.append("    action: ").append(toIndentedString(action)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy