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

com.symphony.api.model.V3DLPPolicy Maven / Gradle / Ivy

package com.symphony.api.model;

import com.symphony.api.model.V3DLPPolicyAppliesTo;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import com.fasterxml.jackson.annotation.JsonCreator;

/**
  * A policy is the main entity of V3 policy/rule system. It is responsible to define rules and add scope constraints to the engine. 
 **/
@Schema(description="A policy is the main entity of V3 policy/rule system. It is responsible to define rules and add scope constraints to the engine. ")
public class V3DLPPolicy   {
  
  @Schema(description = "Unique identifier for policy.")
 /**
   * Unique identifier for policy.  
  **/
  private String id = null;
  
  @Schema(description = "Policy Id.")
 /**
   * Policy Id.  
  **/
  private String policyId = null;
  
  @Schema(description = "The version of the policy, in format \"major.minor\". Initial value will set by backend as \"3.0\" when created. Whenever the policy version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. ")
 /**
   * The version of the policy, in format \"major.minor\". Initial value will set by backend as \"3.0\" when created. Whenever the policy version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999.   
  **/
  private String version = null;
  
  @Schema(description = "Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. ")
 /**
   * Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed.   
  **/
  private String name = null;
  
  @Schema(description = "Numeric userId of the creator.")
 /**
   * Numeric userId of the creator.  
  **/
  private Long creatorId = null;
  
  @Schema(description = "List of communication scopes. Possible values are \"Internal\" (for Internal conversations) or \"External\" (for External conversations). You can apply both scopes if you set it to [\"Internal\", \"External\"]. ")
 /**
   * List of communication scopes. Possible values are \"Internal\" (for Internal conversations) or \"External\" (for External conversations). You can apply both scopes if you set it to [\"Internal\", \"External\"].   
  **/
  private List scopes = null;
  
  @Schema(description = "")
  private List appliesTo = null;
  
  @Schema(description = "Indicate whether the policy is active or not.")
 /**
   * Indicate whether the policy is active or not.  
  **/
  private Boolean active = null;
  
  @Schema(description = "Indicate whether the policy is deleted or not.")
 /**
   * Indicate whether the policy is deleted or not.  
  **/
  private Boolean deleted = null;
  
  @Schema(description = "Creation time of the policy in milliseconds elapsed as of epoch time. ")
 /**
   * Creation time of the policy in milliseconds elapsed as of epoch time.   
  **/
  private Long creationDate = null;
  
  @Schema(description = "Recent update time of the policy in milliseconds elapsed as of epoch. time. ")
 /**
   * Recent update time of the policy in milliseconds elapsed as of epoch. time.   
  **/
  private Long lastUpdatedDate = null;
  
  @Schema(description = "Recent disable time of the policy in milliseconds elapsed as of epoch. time. ")
 /**
   * Recent disable time of the policy in milliseconds elapsed as of epoch. time.   
  **/
  private Long lastDisabledDate = null;
  
  @Schema(description = "")
  private Boolean systemPolicy = null;
 /**
   * Unique identifier for policy.
   * @return id
  **/
  @JsonProperty("id")
  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public V3DLPPolicy id(String id) {
    this.id = id;
    return this;
  }

 /**
   * Policy Id.
   * @return policyId
  **/
  @JsonProperty("policyId")
  public String getPolicyId() {
    return policyId;
  }

  public void setPolicyId(String policyId) {
    this.policyId = policyId;
  }

  public V3DLPPolicy policyId(String policyId) {
    this.policyId = policyId;
    return this;
  }

 /**
   * The version of the policy, in format \"major.minor\". Initial value will set by backend as \"3.0\" when created. Whenever the policy version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. 
   * @return version
  **/
  @JsonProperty("version")
  public String getVersion() {
    return version;
  }

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

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

 /**
   * Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. 
   * @return name
  **/
  @JsonProperty("name")
  public String getName() {
    return name;
  }

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

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

 /**
   * Numeric userId of the creator.
   * @return creatorId
  **/
  @JsonProperty("creatorId")
  public Long getCreatorId() {
    return creatorId;
  }

  public void setCreatorId(Long creatorId) {
    this.creatorId = creatorId;
  }

  public V3DLPPolicy creatorId(Long creatorId) {
    this.creatorId = creatorId;
    return this;
  }

 /**
   * List of communication scopes. Possible values are \"Internal\" (for Internal conversations) or \"External\" (for External conversations). You can apply both scopes if you set it to [\"Internal\", \"External\"]. 
   * @return scopes
  **/
  @JsonProperty("scopes")
  public List getScopes() {
    return scopes;
  }

  public void setScopes(List scopes) {
    this.scopes = scopes;
  }

  public V3DLPPolicy scopes(List scopes) {
    this.scopes = scopes;
    return this;
  }

  public V3DLPPolicy addScopesItem(String scopesItem) {
    this.scopes.add(scopesItem);
    return this;
  }

 /**
   * Get appliesTo
   * @return appliesTo
  **/
  @JsonProperty("appliesTo")
  public List getAppliesTo() {
    return appliesTo;
  }

  public void setAppliesTo(List appliesTo) {
    this.appliesTo = appliesTo;
  }

  public V3DLPPolicy appliesTo(List appliesTo) {
    this.appliesTo = appliesTo;
    return this;
  }

  public V3DLPPolicy addAppliesToItem(V3DLPPolicyAppliesTo appliesToItem) {
    this.appliesTo.add(appliesToItem);
    return this;
  }

 /**
   * Indicate whether the policy is active or not.
   * @return active
  **/
  @JsonProperty("active")
  public Boolean isActive() {
    return active;
  }

  public void setActive(Boolean active) {
    this.active = active;
  }

  public V3DLPPolicy active(Boolean active) {
    this.active = active;
    return this;
  }

 /**
   * Indicate whether the policy is deleted or not.
   * @return deleted
  **/
  @JsonProperty("deleted")
  public Boolean isDeleted() {
    return deleted;
  }

  public void setDeleted(Boolean deleted) {
    this.deleted = deleted;
  }

  public V3DLPPolicy deleted(Boolean deleted) {
    this.deleted = deleted;
    return this;
  }

 /**
   * Creation time of the policy in milliseconds elapsed as of epoch time. 
   * @return creationDate
  **/
  @JsonProperty("creationDate")
  public Long getCreationDate() {
    return creationDate;
  }

  public void setCreationDate(Long creationDate) {
    this.creationDate = creationDate;
  }

  public V3DLPPolicy creationDate(Long creationDate) {
    this.creationDate = creationDate;
    return this;
  }

 /**
   * Recent update time of the policy in milliseconds elapsed as of epoch. time. 
   * @return lastUpdatedDate
  **/
  @JsonProperty("lastUpdatedDate")
  public Long getLastUpdatedDate() {
    return lastUpdatedDate;
  }

  public void setLastUpdatedDate(Long lastUpdatedDate) {
    this.lastUpdatedDate = lastUpdatedDate;
  }

  public V3DLPPolicy lastUpdatedDate(Long lastUpdatedDate) {
    this.lastUpdatedDate = lastUpdatedDate;
    return this;
  }

 /**
   * Recent disable time of the policy in milliseconds elapsed as of epoch. time. 
   * @return lastDisabledDate
  **/
  @JsonProperty("lastDisabledDate")
  public Long getLastDisabledDate() {
    return lastDisabledDate;
  }

  public void setLastDisabledDate(Long lastDisabledDate) {
    this.lastDisabledDate = lastDisabledDate;
  }

  public V3DLPPolicy lastDisabledDate(Long lastDisabledDate) {
    this.lastDisabledDate = lastDisabledDate;
    return this;
  }

 /**
   * Get systemPolicy
   * @return systemPolicy
  **/
  @JsonProperty("systemPolicy")
  public Boolean isSystemPolicy() {
    return systemPolicy;
  }

  public void setSystemPolicy(Boolean systemPolicy) {
    this.systemPolicy = systemPolicy;
  }

  public V3DLPPolicy systemPolicy(Boolean systemPolicy) {
    this.systemPolicy = systemPolicy;
    return this;
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class V3DLPPolicy {\n");
    
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    policyId: ").append(toIndentedString(policyId)).append("\n");
    sb.append("    version: ").append(toIndentedString(version)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    creatorId: ").append(toIndentedString(creatorId)).append("\n");
    sb.append("    scopes: ").append(toIndentedString(scopes)).append("\n");
    sb.append("    appliesTo: ").append(toIndentedString(appliesTo)).append("\n");
    sb.append("    active: ").append(toIndentedString(active)).append("\n");
    sb.append("    deleted: ").append(toIndentedString(deleted)).append("\n");
    sb.append("    creationDate: ").append(toIndentedString(creationDate)).append("\n");
    sb.append("    lastUpdatedDate: ").append(toIndentedString(lastUpdatedDate)).append("\n");
    sb.append("    lastDisabledDate: ").append(toIndentedString(lastDisabledDate)).append("\n");
    sb.append("    systemPolicy: ").append(toIndentedString(systemPolicy)).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 static String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy