package com.chenyang.nse.bussiness.entity.orm.table.core.key;

import com.chenyang.nse.bussiness.entity.orm.table.TInitEntity;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(
   name = "t_core_key_type_management"
)
public class TCoreKeyTypeManagement extends TInitEntity {
   private String typename;
   private String typeid;
   private String isuse;
   private String systemkey;

   public String getTypename() {
      return this.typename;
   }

   public String getTypeid() {
      return this.typeid;
   }

   public String getIsuse() {
      return this.isuse;
   }

   public String getSystemkey() {
      return this.systemkey;
   }

   public void setTypename(final String typename) {
      this.typename = typename;
   }

   public void setTypeid(final String typeid) {
      this.typeid = typeid;
   }

   public void setIsuse(final String isuse) {
      this.isuse = isuse;
   }

   public void setSystemkey(final String systemkey) {
      this.systemkey = systemkey;
   }

   public boolean equals(final Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof TCoreKeyTypeManagement)) {
         return false;
      } else {
         TCoreKeyTypeManagement other = (TCoreKeyTypeManagement)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            Object this$typename = this.getTypename();
            Object other$typename = other.getTypename();
            if (this$typename == null) {
               if (other$typename != null) {
                  return false;
               }
            } else if (!this$typename.equals(other$typename)) {
               return false;
            }

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

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

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

            return true;
         }
      }
   }

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

   public int hashCode() {
      int PRIME = 59;
      int result = 1;
      Object $typename = this.getTypename();
      result = result * 59 + ($typename == null ? 43 : $typename.hashCode());
      Object $typeid = this.getTypeid();
      result = result * 59 + ($typeid == null ? 43 : $typeid.hashCode());
      Object $isuse = this.getIsuse();
      result = result * 59 + ($isuse == null ? 43 : $isuse.hashCode());
      Object $systemkey = this.getSystemkey();
      result = result * 59 + ($systemkey == null ? 43 : $systemkey.hashCode());
      return result;
   }

   public String toString() {
      return "TCoreKeyTypeManagement(typename=" + this.getTypename() + ", typeid=" + this.getTypeid() + ", isuse=" + this.getIsuse() + ", systemkey=" + this.getSystemkey() + ")";
   }
}
