Class Entity

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    JobExecution, JobInstance, StepExecution

    public class Entity
    extends java.lang.Object
    implements java.io.Serializable
    Batch Domain Entity class. Any class that should be uniquely identifiable from another should subclass from Entity. More information on this pattern and the difference between Entities and Value Objects can be found in Domain Driven Design by Eric Evans.
    Author:
    Lucas Ward, Dave Syer
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      ConstructorDescription
      Entity() 
      Entity​(java.lang.Long id) 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      booleanequals​(java.lang.Object other)
      Attempt to establish identity based on id if both exist.
      java.lang.LonggetId() 
      java.lang.IntegergetVersion() 
      inthashCode()
      Use ID if it exists to establish hash code, otherwise fall back to Object.hashCode().
      voidincrementVersion()
      Increment the version number
      voidsetId​(java.lang.Long id) 
      voidsetVersion​(java.lang.Integer version)
      Public setter for the version needed only by repository methods.
      java.lang.StringtoString() 
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Entity

        public Entity()
      • Entity

        public Entity​(java.lang.Long id)
    • Method Detail

      • getId

        public java.lang.Long getId()
      • setId

        public void setId​(java.lang.Long id)
      • getVersion

        public java.lang.Integer getVersion()
        Returns:
        the version
      • setVersion

        public void setVersion​(java.lang.Integer version)
        Public setter for the version needed only by repository methods.
        Parameters:
        version - the version to set
      • incrementVersion

        public void incrementVersion()
        Increment the version number
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Attempt to establish identity based on id if both exist. If either id does not exist use Object.equals().
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Use ID if it exists to establish hash code, otherwise fall back to Object.hashCode(). Based on the same information as equals, so if that changes, this will. N.B. this follows the contract of Object.hashCode(), but will cause problems for anyone adding an unsaved Entity to a Set because Set.contains() will almost certainly return false for the Entity after it is saved. Spring Batch does not store any of its entities in Sets as a matter of course, so internally this is consistent. Clients should not be exposed to unsaved entities.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()