Class MapConfiguration

java.lang.Object
io.trino.tempto.internal.configuration.AbstractConfiguration
io.trino.tempto.internal.configuration.MapConfiguration
All Implemented Interfaces:
Configuration

public class MapConfiguration extends AbstractConfiguration

This class constructs and stores a map based configuration using nested maps.

For leafs - value is stored in map. For non-leaf - nested map is stored.

Outer map is responsible for first part in all keys stored in configuration. Maps stored at first internal level are responsible for second part in stored keys and so on.

For example, for a configuration storing these hierarchical entries: a.b.c = 3 a.x = 10 b.c = 15

the following map structure would be created

 {
 a : {
  b : {
   c : 3
  },
  x : 10
  },
 b : {
  c : 15
  }
 }
 
  • Constructor Details

  • Method Details

    • get

      public Optional<Object> get(String key)
    • listKeys

      public Set<String> listKeys()
      Description copied from interface: Configuration
      Lists all keys in configuration
      Returns:
      List of keys
    • listPrefixes

      public Set<String> listPrefixes()
      Description copied from interface: Configuration
      Lists configuration key prefixes of length=1

      E.g. for configuration with keys: a.b.c a.d.e b

      listPrefixes() would return ["a", "b"]

    • getSubconfiguration

      public Configuration getSubconfiguration(String keyPrefix)
      Description copied from interface: Configuration
      Returns configuration containing all keys starting with given prefix. Keys for returned configuration are stripped of this prefix.
      Parameters:
      keyPrefix - Prefix to search for
      Returns:
      Configuration containing all keys starting with given prefix.