package com.inspect.ivs.vo;

import com.inspect.ivs.domain.MediaAddr;


import java.io.Serializable;


public class IvsStreamStartVo implements Serializable {
   private String serial;
   private String channel;
   private String code;
   private String sms_id;
   private String sms_group_id;
   private String cdn;
   private String audio;
   private String transport;
   private String transport_mode;
   private String check_channel_status;
   private String timeout;
   private String cameraCode;
   private IvsStreamStartVo.RealplayParam realplayParam = new IvsStreamStartVo.RealplayParam();
   private MediaAddr mediaAddrDst = new MediaAddr();

   public void setCode(String code) {
      this.cameraCode = this.code = code;
   }

   public String getSerial() {
      return this.serial;
   }

   public String getChannel() {
      return this.channel;
   }

   public String getCode() {
      return this.code;
   }

   public String getSms_id() {
      return this.sms_id;
   }

   public String getSms_group_id() {
      return this.sms_group_id;
   }

   public String getCdn() {
      return this.cdn;
   }

   public String getAudio() {
      return this.audio;
   }

   public String getTransport() {
      return this.transport;
   }

   public String getTransport_mode() {
      return this.transport_mode;
   }

   public String getCheck_channel_status() {
      return this.check_channel_status;
   }

   public String getTimeout() {
      return this.timeout;
   }

   public String getCameraCode() {
      return this.cameraCode;
   }

   public IvsStreamStartVo.RealplayParam getRealplayParam() {
      return this.realplayParam;
   }

   public MediaAddr getMediaAddrDst() {
      return this.mediaAddrDst;
   }

   public void setSerial(String serial) {
      this.serial = serial;
   }

   public void setChannel(String channel) {
      this.channel = channel;
   }

   public void setSms_id(String sms_id) {
      this.sms_id = sms_id;
   }

   public void setSms_group_id(String sms_group_id) {
      this.sms_group_id = sms_group_id;
   }

   public void setCdn(String cdn) {
      this.cdn = cdn;
   }

   public void setAudio(String audio) {
      this.audio = audio;
   }

   public void setTransport(String transport) {
      this.transport = transport;
   }

   public void setTransport_mode(String transport_mode) {
      this.transport_mode = transport_mode;
   }

   public void setCheck_channel_status(String check_channel_status) {
      this.check_channel_status = check_channel_status;
   }

   public void setTimeout(String timeout) {
      this.timeout = timeout;
   }

   public void setCameraCode(String cameraCode) {
      this.cameraCode = cameraCode;
   }

   public void setRealplayParam(IvsStreamStartVo.RealplayParam realplayParam) {
      this.realplayParam = realplayParam;
   }

   public void setMediaAddrDst(MediaAddr mediaAddrDst) {
      this.mediaAddrDst = mediaAddrDst;
   }

   public boolean equals(Object o) {
      if(o == this) {
         return true;
      } else if(!(o instanceof IvsStreamStartVo)) {
         return false;
      } else {
         IvsStreamStartVo other = (IvsStreamStartVo)o;
         if(!other.canEqual(this)) {
            return false;
         } else {
            Object this$serial = this.getSerial();
            Object other$serial = other.getSerial();
            if(this$serial == null) {
               if(other$serial != null) {
                  return false;
               }
            } else if(!this$serial.equals(other$serial)) {
               return false;
            }

            Object this$channel = this.getChannel();
            Object other$channel = other.getChannel();
            if(this$channel == null) {
               if(other$channel != null) {
                  return false;
               }
            } else if(!this$channel.equals(other$channel)) {
               return false;
            }

            Object this$code = this.getCode();
            Object other$code = other.getCode();
            if(this$code == null) {
               if(other$code != null) {
                  return false;
               }
            } else if(!this$code.equals(other$code)) {
               return false;
            }

            label158: {
               Object this$sms_id = this.getSms_id();
               Object other$sms_id = other.getSms_id();
               if(this$sms_id == null) {
                  if(other$sms_id == null) {
                     break label158;
                  }
               } else if(this$sms_id.equals(other$sms_id)) {
                  break label158;
               }

               return false;
            }

            label151: {
               Object this$sms_group_id = this.getSms_group_id();
               Object other$sms_group_id = other.getSms_group_id();
               if(this$sms_group_id == null) {
                  if(other$sms_group_id == null) {
                     break label151;
                  }
               } else if(this$sms_group_id.equals(other$sms_group_id)) {
                  break label151;
               }

               return false;
            }

            Object this$cdn = this.getCdn();
            Object other$cdn = other.getCdn();
            if(this$cdn == null) {
               if(other$cdn != null) {
                  return false;
               }
            } else if(!this$cdn.equals(other$cdn)) {
               return false;
            }

            label137: {
               Object this$audio = this.getAudio();
               Object other$audio = other.getAudio();
               if(this$audio == null) {
                  if(other$audio == null) {
                     break label137;
                  }
               } else if(this$audio.equals(other$audio)) {
                  break label137;
               }

               return false;
            }

            label130: {
               Object this$transport = this.getTransport();
               Object other$transport = other.getTransport();
               if(this$transport == null) {
                  if(other$transport == null) {
                     break label130;
                  }
               } else if(this$transport.equals(other$transport)) {
                  break label130;
               }

               return false;
            }

            Object this$transport_mode = this.getTransport_mode();
            Object other$transport_mode = other.getTransport_mode();
            if(this$transport_mode == null) {
               if(other$transport_mode != null) {
                  return false;
               }
            } else if(!this$transport_mode.equals(other$transport_mode)) {
               return false;
            }

            Object this$check_channel_status = this.getCheck_channel_status();
            Object other$check_channel_status = other.getCheck_channel_status();
            if(this$check_channel_status == null) {
               if(other$check_channel_status != null) {
                  return false;
               }
            } else if(!this$check_channel_status.equals(other$check_channel_status)) {
               return false;
            }

            label109: {
               Object this$timeout = this.getTimeout();
               Object other$timeout = other.getTimeout();
               if(this$timeout == null) {
                  if(other$timeout == null) {
                     break label109;
                  }
               } else if(this$timeout.equals(other$timeout)) {
                  break label109;
               }

               return false;
            }

            label102: {
               Object this$cameraCode = this.getCameraCode();
               Object other$cameraCode = other.getCameraCode();
               if(this$cameraCode == null) {
                  if(other$cameraCode == null) {
                     break label102;
                  }
               } else if(this$cameraCode.equals(other$cameraCode)) {
                  break label102;
               }

               return false;
            }

            Object this$realplayParam = this.getRealplayParam();
            Object other$realplayParam = other.getRealplayParam();
            if(this$realplayParam == null) {
               if(other$realplayParam != null) {
                  return false;
               }
            } else if(!this$realplayParam.equals(other$realplayParam)) {
               return false;
            }

            Object this$mediaAddrDst = this.getMediaAddrDst();
            Object other$mediaAddrDst = other.getMediaAddrDst();
            if(this$mediaAddrDst == null) {
               if(other$mediaAddrDst != null) {
                  return false;
               }
            } else if(!this$mediaAddrDst.equals(other$mediaAddrDst)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof IvsStreamStartVo;
   }

   public int hashCode() {
      int PRIME = 1;
      int result = 1;
      Object $serial = this.getSerial();
      result = result * 59 + ($serial == null?43:$serial.hashCode());
      Object $channel = this.getChannel();
      result = result * 59 + ($channel == null?43:$channel.hashCode());
      Object $code = this.getCode();
      result = result * 59 + ($code == null?43:$code.hashCode());
      Object $sms_id = this.getSms_id();
      result = result * 59 + ($sms_id == null?43:$sms_id.hashCode());
      Object $sms_group_id = this.getSms_group_id();
      result = result * 59 + ($sms_group_id == null?43:$sms_group_id.hashCode());
      Object $cdn = this.getCdn();
      result = result * 59 + ($cdn == null?43:$cdn.hashCode());
      Object $audio = this.getAudio();
      result = result * 59 + ($audio == null?43:$audio.hashCode());
      Object $transport = this.getTransport();
      result = result * 59 + ($transport == null?43:$transport.hashCode());
      Object $transport_mode = this.getTransport_mode();
      result = result * 59 + ($transport_mode == null?43:$transport_mode.hashCode());
      Object $check_channel_status = this.getCheck_channel_status();
      result = result * 59 + ($check_channel_status == null?43:$check_channel_status.hashCode());
      Object $timeout = this.getTimeout();
      result = result * 59 + ($timeout == null?43:$timeout.hashCode());
      Object $cameraCode = this.getCameraCode();
      result = result * 59 + ($cameraCode == null?43:$cameraCode.hashCode());
      Object $realplayParam = this.getRealplayParam();
      result = result * 59 + ($realplayParam == null?43:$realplayParam.hashCode());
      Object $mediaAddrDst = this.getMediaAddrDst();
      result = result * 59 + ($mediaAddrDst == null?43:$mediaAddrDst.hashCode());
      return result;
   }

   public String toString() {
      return "SipbStreamStartVo(serial=" + this.getSerial() + ", channel=" + this.getChannel() + ", code=" + this.getCode() + ", sms_id=" + this.getSms_id() + ", sms_group_id=" + this.getSms_group_id() + ", cdn=" + this.getCdn() + ", audio=" + this.getAudio() + ", transport=" + this.getTransport() + ", transport_mode=" + this.getTransport_mode() + ", check_channel_status=" + this.getCheck_channel_status() + ", timeout=" + this.getTimeout() + ", cameraCode=" + this.getCameraCode() + ", realplayParam=" + this.getRealplayParam() + ", mediaAddrDst=" + this.getMediaAddrDst() + ")";
   }

   public static class RealplayParam implements Serializable {
      private int streamType = 1;
      private int protocolType = 1;
      private int directFirst = 1;
      private int multiCast = 0;
      private String reserve;

      public int getStreamType() {
         return this.streamType;
      }

      public int getProtocolType() {
         return this.protocolType;
      }

      public int getDirectFirst() {
         return this.directFirst;
      }

      public int getMultiCast() {
         return this.multiCast;
      }

      public String getReserve() {
         return this.reserve;
      }

      public void setStreamType(int streamType) {
         this.streamType = streamType;
      }

      public void setProtocolType(int protocolType) {
         this.protocolType = protocolType;
      }

      public void setDirectFirst(int directFirst) {
         this.directFirst = directFirst;
      }

      public void setMultiCast(int multiCast) {
         this.multiCast = multiCast;
      }

      public void setReserve(String reserve) {
         this.reserve = reserve;
      }

      public boolean equals(Object o) {
         if(o == this) {
            return true;
         } else if(!(o instanceof IvsStreamStartVo.RealplayParam)) {
            return false;
         } else {
            IvsStreamStartVo.RealplayParam other = (IvsStreamStartVo.RealplayParam)o;
            if(!other.canEqual(this)) {
               return false;
            } else if(this.getStreamType() != other.getStreamType()) {
               return false;
            } else if(this.getProtocolType() != other.getProtocolType()) {
               return false;
            } else if(this.getDirectFirst() != other.getDirectFirst()) {
               return false;
            } else if(this.getMultiCast() != other.getMultiCast()) {
               return false;
            } else {
               Object this$reserve = this.getReserve();
               Object other$reserve = other.getReserve();
               if(this$reserve == null) {
                  if(other$reserve != null) {
                     return false;
                  }
               } else if(!this$reserve.equals(other$reserve)) {
                  return false;
               }

               return true;
            }
         }
      }

      protected boolean canEqual(Object other) {
         return other instanceof IvsStreamStartVo.RealplayParam;
      }

      public int hashCode() {
         int PRIME = 1;
         int result = 1;
         result = result * 59 + this.getStreamType();
         result = result * 59 + this.getProtocolType();
         result = result * 59 + this.getDirectFirst();
         result = result * 59 + this.getMultiCast();
         Object $reserve = this.getReserve();
         result = result * 59 + ($reserve == null?43:$reserve.hashCode());
         return result;
      }

      public String toString() {
         return "SipbStreamStartVo.RealplayParam(streamType=" + this.getStreamType() + ", protocolType=" + this.getProtocolType() + ", directFirst=" + this.getDirectFirst() + ", multiCast=" + this.getMultiCast() + ", reserve=" + this.getReserve() + ")";
      }
   }
}
