public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFAsteriskExtensionsConfBuff) {
      CFAsteriskExtensionsConfBuff rhs = (CFAsteriskExtensionsConfBuff) obj;
      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      return (0);
    } else if (obj instanceof CFAsteriskExtensionsConfByExtClusterIdxKey) {
      CFAsteriskExtensionsConfByExtClusterIdxKey rhs =
          (CFAsteriskExtensionsConfByExtClusterIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFAsteriskExtensionsConfHBuff) {
      CFAsteriskExtensionsConfHBuff rhs = (CFAsteriskExtensionsConfHBuff) obj;

      int retval = super.compareTo(rhs);
      if (retval != 0) {
        return (retval);
      }
      {
        long lhsAuditClusterId = getAuditClusterId();
        long rhsAuditClusterId = rhs.getAuditClusterId();
        if (lhsAuditClusterId < rhsAuditClusterId) {
          return (-1);
        } else if (lhsAuditClusterId > rhsAuditClusterId) {
          return (1);
        }
      }
      {
        Calendar lhsAuditStamp = getAuditStamp();
        Calendar rhsAuditStamp = rhs.getAuditStamp();
        if (lhsAuditStamp == null) {
          if (rhsAuditStamp != null) {
            return (-1);
          }
        } else if (rhsAuditStamp == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditStamp.compareTo(rhsAuditStamp);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      {
        short lhsAuditActionId = getAuditActionId();
        short rhsAuditActionId = rhs.getAuditActionId();
        if (lhsAuditActionId < rhsAuditActionId) {
          return (-1);
        } else if (lhsAuditActionId > rhsAuditActionId) {
          return (1);
        }
      }
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      {
        UUID lhsAuditSessionId = getAuditSessionId();
        UUID rhsAuditSessionId = rhs.getAuditSessionId();
        if (lhsAuditSessionId == null) {
          if (rhsAuditSessionId != null) {
            return (-1);
          }
        } else if (rhsAuditSessionId == null) {
          return (1);
        } else {
          int cmpstat = lhsAuditSessionId.compareTo(rhsAuditSessionId);
          if (cmpstat != 0) {
            return (cmpstat);
          }
        }
      }
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      {
        int cmp = getRequiredFileFullName().compareTo(rhs.getRequiredFileFullName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp = getRequiredFileContents().compareTo(rhs.getRequiredFileContents());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else {
      return (super.compareTo(obj));
    }
  }
 public boolean equals(Object obj) {
   if (obj == null) {
     return (false);
   } else if (obj instanceof CFAsteriskExtensionsConfHBuff) {
     CFAsteriskExtensionsConfHBuff rhs = (CFAsteriskExtensionsConfHBuff) obj;
     if (!super.equals(obj)) {
       return (false);
     }
     if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
       return (false);
     }
     if (getRequiredId() != rhs.getRequiredId()) {
       return (false);
     }
     if (!getRequiredFileContents().equals(rhs.getRequiredFileContents())) {
       return (false);
     }
     return (true);
   } else if (obj instanceof CFAsteriskExtensionsConfBuff) {
     CFAsteriskExtensionsConfBuff rhs = (CFAsteriskExtensionsConfBuff) obj;
     if (!super.equals(obj)) {
       return (false);
     }
     if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
       return (false);
     }
     if (getRequiredId() != rhs.getRequiredId()) {
       return (false);
     }
     if (!getRequiredFileContents().equals(rhs.getRequiredFileContents())) {
       return (false);
     }
     return (true);
   } else if (obj instanceof CFAsteriskExtensionsConfByExtClusterIdxKey) {
     CFAsteriskExtensionsConfByExtClusterIdxKey rhs =
         (CFAsteriskExtensionsConfByExtClusterIdxKey) obj;
     if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
       return (false);
     }
     return (true);
   } else {
     return (super.equals(obj));
   }
 }