package com.inspect.ivs.vo;

import java.util.Objects;

public class IvsChanSnapVo extends IvsVo {
   private String taskID;
   private boolean encrypted = false;

   public IvsChanSnapVo() {}

   public IvsChanSnapVo(String cameraCode, String domainCode, String taskID) {
      this.setCameraCode(cameraCode);
      this.setDomainCode(domainCode);
      this.taskID = taskID;
   }

   public String getTaskID() {
      return this.taskID;
   }

   public void setTaskID(String taskID) {
      this.taskID = taskID;
   }

   public boolean isEncrypted() {
      return encrypted;
   }

   public void setEncrypted(boolean encrypted) {
      this.encrypted = encrypted;
   }

   @Override
   public boolean equals(Object object) {
      if (this == object) return true;
      if (object == null || getClass() != object.getClass()) return false;
      if (!super.equals(object)) return false;
      IvsChanSnapVo that = (IvsChanSnapVo) object;
      return Objects.equals(taskID, that.taskID);
   }

   @Override
   public int hashCode() {
      return Objects.hash(super.hashCode(), taskID);
   }

   @Override
   public String toString() {
      return "IvsChanSnapVo{" +
              "taskID='" + taskID + '\'' +
              ", code='" + getCode() + '\'' +
              ", cameraCode='" + getCameraCode() + '\'' +
              ", domainCode='" + getDomainCode() + '\'' +
              ", presetName='" + getName() + '\'' +
              ", patrolPointId='" + getId() + '\'' +
              ", host='" + getHost() + '\'' +
              ", port='" + getPort() + '\'' +
              ", username='" + getUsername() + '\'' +
              ", password='" + getPassword() + '\'' +
              ", address='" + getAddress() + '\'' +
              ", UUID='" + getUUID() + '\'' +
              '}';
   }
}
