Class DefaultInstanceDescription

java.lang.Object
org.apache.sling.discovery.commons.providers.DefaultInstanceDescription
All Implemented Interfaces:
InstanceDescription
Direct Known Subclasses:
NonLocalInstanceDescription

public class DefaultInstanceDescription extends Object implements InstanceDescription
Base implementation for the InstanceDescription interface.

Allows creation of the object with clusterview and/or properties null - to be set later but before usage!

  • Constructor Details

  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getClusterView

      public ClusterView getClusterView()
      Description copied from interface: InstanceDescription
      Returns the ClusterView of which this instance is part of. Every instance is part of a ClusterView even if it is standalone.
      Specified by:
      getClusterView in interface InstanceDescription
      Returns:
      the ClusterView
    • isLeader

      public boolean isLeader()
      Description copied from interface: InstanceDescription
      If an instance is part of a cluster, it can potentially be a leader of that cluster - this information is queried here. If an instance is not part of a cluster, this method returns true. Only one instance of a cluster is guaranteed to be the leader at any time. This guarantee is provided by this service. If the leader goes down, the service elects a new leader and announces it to TopologyEventListener listeners.
      Specified by:
      isLeader in interface InstanceDescription
      Returns:
      true if this instance is the - only - leader in this cluster, false if it is one of the slaves, or true if it is not at all part of a cluster
    • isLocal

      public boolean isLocal()
      Description copied from interface: InstanceDescription
      Determines whether this InstanceDescription is representing the local instance.
      Specified by:
      isLocal in interface InstanceDescription
      Returns:
      whether this InstanceDescription is representing the local instance.
    • getSlingId

      public String getSlingId()
      Description copied from interface: InstanceDescription
      The identifier of the running Sling instance.
      Specified by:
      getSlingId in interface InstanceDescription
      Returns:
      the identifier of this instance
    • getProperty

      public String getProperty(String name)
      Description copied from interface: InstanceDescription
      Returns the value of a particular property. Note that there are no hard guarantees or requirements as to how quickly a property is available once it is set on a distant instance.
      Specified by:
      getProperty in interface InstanceDescription
      Parameters:
      name - The property name
      Returns:
      The value of the property or null
    • getProperties

      public Map<String,String> getProperties()
      Description copied from interface: InstanceDescription
      Returns a Map containing all properties of this instance. This method always returns a map, it might be empty. The returned map is not modifiable.
      Specified by:
      getProperties in interface InstanceDescription
      Returns:
      a Map containing all properties of this instance
    • setProperties

      protected void setProperties(Map<String,String> properties)
      Sets the properties of this instance
      Parameters:
      properties -
    • setProperty

      public void setProperty(String key, String value)
      for testing only!