Class CompositeServerSelector

  • All Implemented Interfaces:
    ServerSelector


    public final class CompositeServerSelector
    extends Object
    implements ServerSelector
    A server selector that composes a list of server selectors, and selects the servers by iterating through the list from start to finish, passing the result of the previous into the next, and finally returning the result of the last one.
    Since:
    3.0
    • Constructor Detail

      • CompositeServerSelector

        public CompositeServerSelector​(List<? extends ServerSelector> serverSelectors)
        Constructs a new instance.
        Parameters:
        serverSelectors - the list of composed server selectors
    • Method Detail

      • getServerSelectors

        public List<ServerSelector> getServerSelectors​()
        Returns:
        the server selectors list.
      • select

        public List<ServerDescription> select​(ClusterDescription clusterDescription)
        Description copied from interface: ServerSelector
        Select a list of server descriptions from the given cluster description according to some criteria.
        Specified by:
        select in interface ServerSelector
        Parameters:
        clusterDescription - the cluster of servers to select from
        Returns:
        a non-null list of ServerDescriptions that meet the requirements of this ServerSelector. This may be empty.
      • hashCode

        public int hashCode​()
        Overrides:
        hashCode in class Object