Interface InstanceDescription


  • public interface InstanceDescription
    An InstanceDescription represents and contains information about an instance that is part of a TopologyView.

    Note that all methods are idempotent - they always return the same values on subsequent calls. Rather, on any change new InstanceDescriptions are created.

    See Also:
    TopologyView
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String PROPERTY_DESCRIPTION
      Property containing a description for the instance.
      static java.lang.String PROPERTY_ENDPOINTS
      Property containing endpoints to connect to the instance.
      static java.lang.String PROPERTY_NAME
      Property containing a name for the instance.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      ClusterView getClusterView()
      Returns the ClusterView of which this instance is part of.
      java.util.Map<java.lang.String,​java.lang.String> getProperties()
      Returns a Map containing all properties of this instance.
      java.lang.String getProperty​(java.lang.String name)
      Returns the value of a particular property.
      java.lang.String getSlingId()
      The identifier of the running Sling instance.
      boolean isLeader()
      If an instance is part of a cluster, it can potentially be a leader of that cluster - this information is queried here.
      boolean isLocal()
      Determines whether this InstanceDescription is representing the local instance.
    • Field Detail

      • PROPERTY_NAME

        static final java.lang.String PROPERTY_NAME
        Property containing a name for the instance. The instance should provide this property.
        See Also:
        Constant Field Values
      • PROPERTY_DESCRIPTION

        static final java.lang.String PROPERTY_DESCRIPTION
        Property containing a description for the instance. The instance should provide this property.
        See Also:
        Constant Field Values
      • PROPERTY_ENDPOINTS

        static final java.lang.String PROPERTY_ENDPOINTS
        Property containing endpoints to connect to the instance. The value is a comma separated list. The instance should provide this property.
        See Also:
        Constant Field Values
    • Method Detail

      • getClusterView

        ClusterView getClusterView()
        Returns the ClusterView of which this instance is part of.

        Every instance is part of a ClusterView even if it is standalone.

        Returns:
        the ClusterView
      • isLeader

        boolean isLeader()
        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.

        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

        boolean isLocal()
        Determines whether this InstanceDescription is representing the local instance.
        Returns:
        whether this InstanceDescription is representing the local instance.
      • getSlingId

        java.lang.String getSlingId()
        The identifier of the running Sling instance.
      • getProperty

        java.lang.String getProperty​(java.lang.String name)
        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.

        Parameters:
        name - The property name
        Returns:
        The value of the property or null
        See Also:
        DiscoveryService#setProperty(String, String)
      • getProperties

        java.util.Map<java.lang.String,​java.lang.String> getProperties()
        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.
        Returns:
        a Map containing all properties of this instance