Class MockCustomDataStorage

    • Constructor Detail

      • MockCustomDataStorage

        public MockCustomDataStorage()
    • Method Detail

      • putValues

        public void putValues​(@NotNull
                              Map<String,​String> data)
        Description copied from interface: CustomDataStorage
        Puts values into the storage but does not flush the data yet, note that existing data will be completely overwritten. If this is a new storage which is not yet flushed on disk or in database, then an empty record for this storage will be allocated and will become visible to other processes. But another process will see the storage with empty map of data until the process which created the storage flushes it.
        Specified by:
        putValues in interface CustomDataStorage
        Parameters:
        data - custom data to put into the storage
      • updateValues

        public void updateValues​(@NotNull
                                 Map<String,​String> newOrChangedValues,
                                 @NotNull
                                 Set<String> removedKeys)
        Description copied from interface: CustomDataStorage
        Puts values from newOrChangedValues map to the storage and removes keys provided via removedKeys set. If removedKeys and newOrChangedValues map has the same key, then the value from newOrChangedValues will be stored and key won't be removed. If newOrChangedValues has null value for some key, then an exception will be thrown.
        Specified by:
        updateValues in interface CustomDataStorage
        Parameters:
        newOrChangedValues - new values to put in the storage
        removedKeys - keys to remove from the storage
      • putValuesAndFlush

        public void putValuesAndFlush​(@NotNull
                                      Map<String,​String> data)
        Description copied from interface: CustomDataStorage
        Same as CustomDataStorage.putValues(Map) but if storage is not created yet, then the method ensures that the storage will be created with the provided data so that other processes could see it's data immediately. If the storage already exists, then this is equivalent to:
           putValues(map);
           flush();
         
        Specified by:
        putValuesAndFlush in interface CustomDataStorage
      • getValue

        @Nullable
        public String getValue​(@NotNull
                               String key)
        Description copied from interface: CustomDataStorage
        Returns value stored for the specified key
        Specified by:
        getValue in interface CustomDataStorage
        Parameters:
        key - key
        Returns:
        stored value or null
      • putValue

        public void putValue​(@NotNull
                             String key,
                             @Nullable
                             String value)
        Description copied from interface: CustomDataStorage
        Puts specified value into the storage. If value is null then data with specified key is removed from the storage.
        Specified by:
        putValue in interface CustomDataStorage
        Parameters:
        key - key
        value - value
      • isDirty

        public boolean isDirty()
        Specified by:
        isDirty in interface CustomDataStorage
        Returns:
        true if this custom data storage was modified but the data is not persisted yet
      • getDataLoadTime

        @Nullable
        public Date getDataLoadTime()
        Description copied from interface: CustomDataStorage
        For a storage whose values have been loaded from the database returns the timestamp when the data was loaded. If the storage has been obtained but getValues() or getValue() methods were not called, then the data may not be loaded into the storage yet. In such cases null is returned as the load time. Storage modifications via put* methods do not affect the load time.
        Specified by:
        getDataLoadTime in interface CustomDataStorage
        Returns:
        the timestamp of the last fetching of the storage data from the database