JobImpl implements Job { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; JobImpl job = (JobImpl) o; return new EqualsBuilder().append(id, job.id).append(dispatchable, job.dispatchable) .append(creator, job.creator).append(organization, job.organization) .append(jobType, job.jobType).append(operation, job.operation).append(arguments, job.arguments) .append(status, job.status).append(failureReason, job.failureReason).append(createdHost, job.createdHost) .append(processingHost, job.processingHost).append(dateCreated, job.dateCreated) .append(dateStarted, job.dateStarted).append(dateCompleted, job.dateCompleted) .append(queueTime, job.queueTime).append(runTime, job.runTime).append(payload, job.payload) .append(parentJobId, job.parentJobId).append(rootJobId, job.rootJobId) .append(uri, job.uri).append(load, job.load).isEquals(); } JobImpl();  JobImpl(long id);  JobImpl(
          long id,
          String creator,
          String organization,
          long version,
          String jobType,
          String operation,
          List<String> arguments,
          Status status,
          String createdHost,
          String processingHost,
          Date dateCreated,
          Date dateStarted,
          Date dateCompleted,
          Long queueTime,
          Long runTime,
          String payload,
          Long parentJobId,
          Long rootJobId,
          boolean dispatchable,
          URI uri,
          Float load); @Override long getId(); @Override String getCreator(); @Override void setCreator(String creator); @Override String getOrganization(); @Override void setOrganization(String organization); @Override long getVersion(); @Override String getJobType(); @Override void setJobType(String jobType); @Override String getOperation(); @Override void setOperation(String operation); @Override List<String> getArguments(); @Override void setArguments(List<String> arguments); @Override Status getStatus(); @Override void setStatus(Status status); @Override void setStatus(Status status, FailureReason reason); @Override FailureReason getFailureReason(); @Override String getCreatedHost(); @Override String getProcessingHost(); @Override void setProcessingHost(String processingHost); @Override Date getDateCreated(); @Override void setDateCreated(Date dateCreated); @Override Date getDateStarted(); @Override void setDateStarted(Date dateStarted); @Override Date getDateCompleted(); @Override void setDateCompleted(Date dateCompleted); @Override Long getQueueTime(); @Override void setQueueTime(Long queueTime); @Override Long getRunTime(); @Override void setRunTime(Long runTime); @Override String getPayload(); @Override void setPayload(String payload); @Override int getSignature(); @Override Long getParentJobId(); @Override void setParentJobId(Long parentJobId); @Override Long getRootJobId(); @Override boolean isDispatchable(); @Override void setDispatchable(boolean dispatchable); @Override URI getUri(); @Override Float getJobLoad(); @Override void setJobLoad(Float load); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void testEquals() throws Exception { Job equalJob = new JobImpl(3L, "test", "test_org", 0L, "simple", "do", arguments, DISPATCHING, "localhost", "remotehost", created, started, completed, 100L, 200L, "result", 3L, 1L, true, uri, 1.5F); assertEquals(job, equalJob); }