Package com.mongodb

Class MongoCompressor



  • public final class MongoCompressor
    extends Object
    Metadata describing a compressor to use for sending and receiving messages to a MongoDB server.
    Since:
    3.6
    Since server release
    3.4
    • Method Detail

      • createSnappyCompressor

        public static MongoCompressor createSnappyCompressor​()
        Create an instance for snappy compression.
        Returns:
        A compressor based on the snappy compression algorithm
        Since server release
        3.4
      • createZlibCompressor

        public static MongoCompressor createZlibCompressor​()
        Create an instance for zlib compression.
        Returns:
        A compressor based on the zlib compression algorithm
        Since server release
        3.6
      • getName

        public String getName​()
        Gets the name of the compressor.
        Returns:
        the non-null compressor name
      • getProperty

        @Nullable
        public <T> T getProperty​(String key,
                                 T defaultValue)
        Gets the property with the given key.
        Type Parameters:
        T - the property value type
        Parameters:
        key - the key
        defaultValue - the default value
        Returns:
        the property value, or the default value if the property is not defined
      • getPropertyNonNull

        public <T> T getPropertyNonNull​(String key,
                                        T defaultValue)
        Gets the property with the given key.
        Type Parameters:
        T - the property value type
        Parameters:
        key - the key
        defaultValue - the default value
        Returns:
        the property value, or the default value if the property is not defined
        Throws:
        IllegalArgumentException - if the value and default value are null
        Since:
        3.7
      • withProperty

        public <T> MongoCompressor withProperty​(String key,
                                                T value)
        Creates a new compressor from this compressor with the given property added to it.
        Type Parameters:
        T - the property value type
        Parameters:
        key - the property key
        value - the property value
        Returns:
        the new compressor
      • hashCode

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