Class ClickHouseMapValue

    • Constructor Detail

      • ClickHouseMapValue

        protected ClickHouseMapValue​(Map<?,​?> value,
                                     Class<?> keyType,
                                     Class<?> valueType)
    • Method Detail

      • ofEmpty

        public static ClickHouseMapValue ofEmpty​(Class<?> keyType,
                                                 Class<?> valueType)
        Creates an empty map.
        Parameters:
        keyType - non-null class of key
        valueType - non-null class of value
        Returns:
        empty map
      • of

        public static ClickHouseMapValue of​(Map<?,​?> value,
                                            Class<?> keyType,
                                            Class<?> valueType)
        Wrap the given value.
        Parameters:
        value - value
        keyType - non-null class of key
        valueType - non-null class of value
        Returns:
        object representing the value
      • of

        public static ClickHouseMapValue of​(ClickHouseValue ref,
                                            Map<?,​?> value,
                                            Class<?> keyType,
                                            Class<?> valueType)
        Update value of the given object or create a new instance if ref is null.
        Parameters:
        ref - object to update, could be null
        value - value
        keyType - non-null class of key
        valueType - non-null class of value
        Returns:
        same object as ref or a new instance if it's null
      • getDefaultKey

        protected Object getDefaultKey()
      • copy

        public ClickHouseMapValue copy​(boolean deep)
        Description copied from interface: ClickHouseValue
        Gets a copy of this value object.
        Parameters:
        deep - true to create a deep copy; false for a shallow copy
        Returns:
        copy of this value object
      • asMap

        public <K,​V> Map<K,​V> asMap​(Class<K> keyClass,
                                                Class<V> valueClass)
        Description copied from interface: ClickHouseValue
        Gets value as a map.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        keyClass - non-null class of key
        valueClass - non-null class of value
        Returns:
        non-null map value
      • asString

        public String asString​(int length,
                               Charset charset)
        Description copied from interface: ClickHouseValue
        Gets value as fixed length(in bytes) string.
        Specified by:
        asString in interface ClickHouseValue
        Overrides:
        asString in class ClickHouseObjectValue<Map<?,​?>>
        Parameters:
        length - byte length of the string, 0 or negative number means unbounded
        charset - charset, null is same as default(UTF-8)
        Returns:
        string value, could be null
      • isNullOrEmpty

        public boolean isNullOrEmpty()
        Description copied from interface: ClickHouseValue
        Checks if the value is null, or empty for non-null types like Array, Tuple and Map.

        Please pay attention that only nullability will be considered for String, meaning this method will return false for an empty string. This is because String is treated as value-based type instead of a container like Array.

        Specified by:
        isNullOrEmpty in interface ClickHouseValue
        Overrides:
        isNullOrEmpty in class ClickHouseObjectValue<Map<?,​?>>
        Returns:
        true if the value is null or empty; false otherwise
      • update

        public ClickHouseMapValue update​(byte value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(short value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(int value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(long value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(float value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(double value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(Enum<?> value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object
      • update

        public ClickHouseMapValue update​(Map<?,​?> value)
        Description copied from interface: ClickHouseValue
        Updates value.
        Parameters:
        value - value to update
        Returns:
        this object