package com.l7tech.gateway.common.service;

import com.l7tech.util.CollectionUpdate.Differentiator;

public class ServiceHeaderDifferentiator implements Differentiator<ServiceHeader> {
   public boolean equals(ServiceHeader var1, ServiceHeader var2) {
      if (var1 == var2) {
         return true;
      }

      if (var1 != null && var2 != null) {
         if (var1.getName() == null ? var2.getName() == null : var1.getName().equals(var2.getName())) {
            if (var1.getDescription() == null ? var2.getDescription() == null : var1.getDescription().equals(var2.getDescription())) {
               if (var1.getStrId() == null ? var2.getStrId() == null : var1.getStrId().equals(var2.getStrId())) {
                  if (var1.getType() == null ? var2.getType() == null : var1.getType().equals(var2.getType())) {
                     if (var1.isDisabled() != var2.isDisabled()) {
                        return false;
                     } else if (var1.isSoap() != var2.isSoap()) {
                        return false;
                     } else {
                        return var1.getDisplayName() == null ? var2.getDisplayName() == null : var1.getDisplayName().equals(var2.getDisplayName());
                     }
                  } else {
                     return false;
                  }
               } else {
                  return false;
               }
            } else {
               return false;
            }
         } else {
            return false;
         }
      } else {
         return var1 == var2;
      }
   }

   public int hashCode(ServiceHeader var1) {
      int var2 = var1.getType() == null ? 0 : var1.getType().hashCode();
      var2 = 31 * var2 + (var1.getDescription() == null ? 0 : var1.getDescription().hashCode());
      var2 = 31 * var2 + (var1.getStrId() == null ? 0 : var1.getStrId().hashCode());
      var2 = 31 * var2 + (var1.getName() == null ? 0 : var1.getName().hashCode());
      var2 = 31 * var2 + (var1.isSoap() ? 1 : 0);
      var2 = 31 * var2 + (var1.isDisabled() ? 1 : 0);
      return 31 * var2 + (var1.getDisplayName() == null ? 0 : var1.getDisplayName().hashCode());
   }
}
