Interface ObjectIdentity

All Superinterfaces:
Serializable
All Known Implementing Classes:
ObjectIdentityImpl

public interface ObjectIdentity extends Serializable
Represents the identity of an individual domain object instance.

As implementations of ObjectIdentity are used as the key to represent domain objects in the ACL subsystem, it is essential that implementations provide methods so that object-equality rather than reference-equality can be relied upon reliably. In other words, the ACL subsystem can consider two ObjectIdentitys equal if identity1.equals(identity2), rather than reference-equality of identity1==identity2.

  • Method Details

    • equals

      boolean equals(Object obj)
      Overrides:
      equals in class Object
      Parameters:
      obj - to be compared
      Returns:
      true if the objects are equal, false otherwise
      See Also:
    • getIdentifier

      Serializable getIdentifier()
      Obtains the actual identifier. This identifier must not be reused to represent other domain objects with the same javaType.

      Because ACLs are largely immutable, it is strongly recommended to use a synthetic identifier (such as a database sequence number for the primary key). Do not use an identifier with business meaning, as that business meaning may change in the future such change will cascade to the ACL subsystem data.

      Returns:
      the identifier (unique within this type; never null)
    • getType

      String getType()
      Obtains the "type" metadata for the domain object. This will often be a Java type name (an interface or a class) – traditionally it is the name of the domain object implementation class.
      Returns:
      the "type" of the domain object (never null).
    • hashCode

      int hashCode()
      Overrides:
      hashCode in class Object
      Returns:
      a hash code representation of the ObjectIdentity
      See Also: