Class Ownership

All Implemented Interfaces:
ExternalizableLite, PortableObject, Serializable, Cloneable
Direct Known Subclasses:
VersionedOwnership

public class Ownership extends ExternalizableHelper implements ExternalizableLite, PortableObject, Cloneable
Ownership is a light-weight data structure that contains a partition ownership information.
Since:
Coherence 3.4
Author:
gg 2008.06.29
See Also:
  • Field Details

    • m_aiOwner

      protected int[] m_aiOwner
      An array of member ids representing the partition ownership.
  • Constructor Details

    • Ownership

      public Ownership()
      Default constructor (necessary for the ExternalizableLite interface).
    • Ownership

      public Ownership(int cBackups)
      Construct an empty Ownership object with a given backup count.
      Parameters:
      cBackups - the number of backups
    • Ownership

      public Ownership(Ownership owners)
      Copy constructor.
      Parameters:
      owners - the Ownership object to copy from
  • Method Details

    • getPrimaryOwner

      public int getPrimaryOwner()
      Return the primary owner id for this partition.
      Returns:
      the primary owner id for this partition
    • setPrimaryOwner

      public void setPrimaryOwner(int iOwner)
      Specify a new primary owner id for this partition.
      Parameters:
      iOwner - the new primary owner id for this partition
    • getOwner

      public int getOwner(int iStore)
      Return the owner id for the specified storage for this partition.
      Parameters:
      iStore - the storage index (zero for primary)
      Returns:
      the owner id or zero if there is no owner
    • getOwners

      public int[] getOwners()
      Return an array containing owner ids for this partition.
      Returns:
      an array containing the owner ids for this partition
    • getOwners

      public int[] getOwners(int[] aiOwner)
      Return an array containing owner ids for this partition.
      Parameters:
      aiOwner - the array into which the owner ids are to be stored, if it is big enough; otherwise a new array will be allocated and returned
      Returns:
      an array containing the owner ids for this partition
    • setOwner

      public void setOwner(int iStore, int iOwner)
      Specify a new owner id for the specified storage for this partition.
      Parameters:
      iStore - the storage index (zero for primary)
      iOwner - the new primary owner id or zero if there is no owner
    • setOwners

      public void setOwners(int[] aiOwners)
      Set the owner ids for this partition according to the specified array of member-ids.
      Parameters:
      aiOwners - the array of member ids, keyed by storage index
      Throws:
      IllegalArgumentException - iff the backup count of the owners array differs from this
    • setOwners

      public void setOwners(Ownership owners)
      Set the owner ids for this partition according to the specified Ownership.
      Parameters:
      owners - the new ownership
      Throws:
      IllegalArgumentException - iff the backup count of the new ownership differs from this
    • getBackupCount

      public int getBackupCount()
      Return the backup count for this Ownership object.
      Returns:
      the backup count
    • getDescription

      public String getDescription()
      Return a human-readable description of this Ownership.
      Returns:
      a human-readable description
    • readExternal

      public void readExternal(DataInput in) throws IOException
      Restore the contents of this object by loading the object's state from the passed DataInput object.
      Specified by:
      readExternal in interface ExternalizableLite
      Parameters:
      in - the DataInput stream to read data from in order to restore the state of this object
      Throws:
      IOException - if an I/O exception occurs
    • writeExternal

      public void writeExternal(DataOutput out) throws IOException
      Save the contents of this object by storing the object's state into the passed DataOutput object.
      Specified by:
      writeExternal in interface ExternalizableLite
      Parameters:
      out - the DataOutput stream to write the state of this object to
      Throws:
      IOException - if an I/O exception occurs
    • readExternal

      public void readExternal(PofReader in) throws IOException
      Restore the contents of a user type instance by reading its state using the specified PofReader object.
      Specified by:
      readExternal in interface PortableObject
      Parameters:
      in - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter out) throws IOException
      Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
      Specified by:
      writeExternal in interface PortableObject
      Parameters:
      out - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs
    • clone

      public Object clone()
      Create a clone of this Ownership.
      Overrides:
      clone in class Object
      Returns:
      a clone of the Ownership object
    • hashCode

      public int hashCode()
      Determine the hash code for this Ownership object.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code for this Ownership object
    • equals

      public boolean equals(Object o)
      Indicates whether some other object is "equal to" this one.
      Overrides:
      equals in class Object
      Parameters:
      o - the object to test for equality
      Returns:
      true if this object is the same as the given one; false otherwise.
    • toString

      public String toString()
      Returns a string representation of this Ownership.
      Overrides:
      toString in class Object
      Returns:
      a string representation of this Ownership