Interface ObjectIdentity

  • All Superinterfaces:
    java.io.Serializable
    All Known Implementing Classes:
    ObjectIdentityImpl

    public interface ObjectIdentity
    extends java.io.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 Detail

      • equals

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

        java.io.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

        java.lang.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 java.lang.Object
        Returns:
        a hash code representation of the ObjectIdentity
        See Also:
        Object.hashCode()