Class ClickHouseNode

    • Method Detail

      • builder

        public static ClickHouseNode.Builder builder()
        Gets builder for creating a new node, same as builder(null).
        Returns:
        builder for creating a new node
      • builder

        public static ClickHouseNode.Builder builder​(ClickHouseNode base)
        Gets builder for creating a new node based on the given one.
        Parameters:
        base - template to start with
        Returns:
        builder for creating a new node
      • getAddress

        public InetSocketAddress getAddress()
        Gets socket address to connect to this node.
        Returns:
        socket address to connect to the node
      • getCredentials

        public ClickHouseCredentials getCredentials​(ClickHouseConfig config)
        Gets credentials for accessing this node. It first attempts to use credentials tied to the node, and then use default credentials from the given configuration.
        Parameters:
        config - non-null configuration for retrieving default credentials
        Returns:
        credentials for accessing this node
      • getHost

        public String getHost()
        Gets host of the node.
        Returns:
        host of the node
      • getPort

        public int getPort()
        Gets port of the node.
        Returns:
        port of the node
      • getDatabase

        public Optional<String> getDatabase()
        Gets database of the node.
        Returns:
        database of the node
      • getDatabase

        public String getDatabase​(ClickHouseConfig config)
        Gets database of the node. When hasPreferredDatabase() is false, it will use database from the given configuration.
        Parameters:
        config - non-null configuration to get default database
        Returns:
        database of the node
      • getTags

        public Set<String> getTags()
        Gets all tags of the node.
        Returns:
        tags of the node
      • getWeight

        public int getWeight()
        Gets weight of the node.
        Returns:
        weight of the node
      • getTimeZone

        public Optional<TimeZone> getTimeZone()
        Gets time zone of the node.
        Returns:
        time zone of the node
      • getTimeZone

        public TimeZone getTimeZone​(ClickHouseConfig config)
        Gets time zone of the node. When not defined, it will use server time zone from the given configuration.
        Parameters:
        config - non-null configuration to get server time zone
        Returns:
        time zone of the node
      • getVersion

        public ClickHouseVersion getVersion​(ClickHouseConfig config)
        Gets version of the node. When not defined, it will use server version from the given configuration.
        Parameters:
        config - non-null configuration to get server version
        Returns:
        version of the node
      • getCluster

        public String getCluster()
        Gets cluster name of the node.
        Returns:
        cluster name of node
      • getProtocol

        public ClickHouseProtocol getProtocol()
        Gets protocol used by the node.
        Returns:
        protocol used by the node
      • hasPreferredDatabase

        public boolean hasPreferredDatabase()
        Checks if preferred database was specified or not. When preferred database was not specified, getDatabase() will return default database.
        Returns:
        true if preferred database was specified; false otherwise
      • updateStatus

        public void updateStatus​(ClickHouseNode.Status status)
        Updates status of the node. This will only work when a manager function exists via setManager(BiConsumer).
        Parameters:
        status - node status
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object