Interface Configuration

All Superinterfaces:
Comparable

public interface Configuration extends Comparable
Storage of the various properties used by the application to determine various behaviors, paths, and options. A description of each property and its possible values can be found in the help of the configuration manager web interface.

Configurations belong to one of three different, separate "scopes", which determine which Preferences to use as the backing store for the configuration properties.

  • SCOPE_SYSTEM means the configuration is stored in the system preferences.
  • SCOPE_USER means the configuration is stored in the user preferences.
  • SCOPE_TEMP means the configuration is not stored permanently at all, but only used for the current session.
Since:
inetcore 1.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The name to use for a copy of a configuration stored in the temporary scope with custom properties.
    static final int
    Constant for the scope of a configuration.
    This scope means the configuration is stored in the system preferences
    static final int
    Constant for the scope a configuration.
    This scope means the configuration will not be permanently stored.
    static final int
    Constant for the scope a configuration.
    This scope means the configuration is stored in the user preferences
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Removes all properties from this configuration.
    int
    Compares this configuration with another object by comparing its name with the string representation of the object (or if the object is a configuration, with its name)
    boolean
    Compares the specified configuration with this configuration.
    void
    Forces any changes in the contents of this configuration to the persistent store for this scope.
    default String
    get(com.inet.config.ConfigKey key)
    Returns the string value to which the specified ConfigKey is mapped, or the default otherwise.
    Note that this fetches the actual value stored in the Preferences behind this Configuration.
    get(String key)
    Returns the value to which the specified key is mapped, or null otherwise.
    get(String key, String def)
    Returns the value to which the specified key is mapped, or def otherwise.
    Note that this fetches the actual value stored in the Preferences behind this Configuration.
    Returns the description set for this configuration, which is found in the property "configuration.description", i.e. this is equivalent to calling get("configuration.description").
    Returns the name of this configuration.
    This name will never be empty nor null and will be unique for its scope.
    Returns the configuration's properties copied as a Properties object.
    The list of properties which are used by the application can be found in the Report URL Parameters.
    int
    Returns the scope of this configuration, which determines where (and if) the Preferences are to be stored.
    default <T> T
    getValue(com.inet.config.ConfigKey key)
    Returns the current value of the ConfigKey in this configuration.
    boolean
    Returns whether this configuration has any properties set
    default void
    put(@Nonnull com.inet.config.ConfigKey key, String value)
    Maps the specified key to the specified value.
    Setting null as a value will effectively remove the mapping associated with the key from this Configuration.
    void
    put(String key, String value)
    Maps the specified key to the specified value.
    Setting null as a value will effectively remove the mapping associated with the key from this Configuration.
    void
    putAll(Map map)
    Convenience method which puts all properties in the given map into this configuration, overwriting any properties which already exist.
    void
    putAll(Map map, boolean importDatasources)
    Deprecated.
    As of i-net Clear Reports 14, use putAll(Map)
    default void
    putValue(@Nonnull com.inet.config.ConfigKey key, Object value)
    Convert a value to String and put it in this configuration.
    void
    setDescription(String description)
    Sets a description for this configuration.
    Returns the scope and the name of the configuration as String.
  • Field Details

    • SCOPE_SYSTEM

      static final int SCOPE_SYSTEM
      Constant for the scope of a configuration.
      This scope means the configuration is stored in the system preferences
      Since:
      inetcore 1.0
      See Also:
    • SCOPE_USER

      static final int SCOPE_USER
      Constant for the scope a configuration.
      This scope means the configuration is stored in the user preferences
      Since:
      inetcore 1.0
      See Also:
    • SCOPE_TEMP

      static final int SCOPE_TEMP
      Constant for the scope a configuration.
      This scope means the configuration will not be permanently stored.
      Since:
      inetcore 1.0
      See Also:
    • NAME_TEMP

      static final String NAME_TEMP
      The name to use for a copy of a configuration stored in the temporary scope with custom properties.
      Since:
      inetcore 1.0.
      See Also:
  • Method Details

    • getName

      String getName()
      Returns the name of this configuration.
      This name will never be empty nor null and will be unique for its scope.
      Returns:
      The name of this configuration
      Since:
      inetcore 1.0.
    • getScope

      int getScope()
      Returns the scope of this configuration, which determines where (and if) the Preferences are to be stored.
      Returns:
      scope of this configuration
      Since:
      inetcore 1.0.
      See Also:
    • get

      String get(String key)
      Returns the value to which the specified key is mapped, or null otherwise. Note that this fetches the actual value stored in the Preferences behind this Configuration.
      Parameters:
      key - key for which to look up the value
      Returns:
      the associated value if there is one and null otherwise
      Since:
      inetcore 1.0.
    • get

      String get(String key, String def)
      Returns the value to which the specified key is mapped, or def otherwise.
      Note that this fetches the actual value stored in the Preferences behind this Configuration.
      Parameters:
      key - key for which to look up the value
      def - default value to fall back on if the value is not stored
      Returns:
      the associated value if there is one and def otherwise
      Since:
      inetcore 1.0.
    • get

      default String get(com.inet.config.ConfigKey key)
      Returns the string value to which the specified ConfigKey is mapped, or the default otherwise.
      Note that this fetches the actual value stored in the Preferences behind this Configuration.
      Parameters:
      key - key for which to look up the value
      Returns:
      the associated value if there is one and default otherwise
      Since:
      inetcore 4.0.
    • getValue

      default <T> T getValue(com.inet.config.ConfigKey key)
      Returns the current value of the ConfigKey in this configuration. Note that this fetches the actual value stored in the Preferences behind this Configuration.
      Type Parameters:
      T - the return type, equals to ConfigKey.getType()
      Parameters:
      key - key for which to look up the value
      Returns:
      the associated value if there is one and default otherwise
      Since:
      inetcore 4.0.
    • put

      void put(String key, String value)
      Maps the specified key to the specified value.
      Setting null as a value will effectively remove the mapping associated with the key from this Configuration. Note that this change will be stored permanently at some point after this method invocation. To force permanent storage, use the method flush().
      Parameters:
      key - the key must not be null
      value - the value to store, removes the mapping if null
      Throws:
      IllegalStateException - if the preferences node underlying this configuration no longer exists
      Since:
      inetcore 1.0.
      See Also:
    • put

      default void put(@Nonnull @Nonnull com.inet.config.ConfigKey key, String value)
      Maps the specified key to the specified value.
      Setting null as a value will effectively remove the mapping associated with the key from this Configuration. Note that this change will be stored permanently at some point after this method invocation. To force permanent storage, use the method flush().
      Parameters:
      key - the key must not be null
      value - the value to store, removes the mapping if null
      Throws:
      IllegalStateException - if the preferences node underlying this configuration no longer exists
      Since:
      inetcore 4.0.
      See Also:
    • putValue

      default void putValue(@Nonnull @Nonnull com.inet.config.ConfigKey key, Object value)
      Convert a value to String and put it in this configuration. It will throw an ClassCastException if the value is not of the Configkey type.
      Parameters:
      key - the key must not be null
      value - the value to store, removes the mapping if null
      Since:
      inetcore 5.1.
    • getProperties

      Properties getProperties()
      Returns the configuration's properties copied as a Properties object.
      The list of properties which are used by the application can be found in the Report URL Parameters. Note that this is only a copy, any changes you make to these properties will not be reflected in the Preferences.
      Returns:
      properties of the current configuration
      Since:
      inetcore 1.0.
      See Also:
    • toString

      String toString()
      Returns the scope and the name of the configuration as String.
      Overrides:
      toString in class Object
      Returns:
      string representation of the given configuration: <scope>::<name>
      Since:
      inetcore 1.0.
    • putAll

      void putAll(Map map)
      Convenience method which puts all properties in the given map into this configuration, overwriting any properties which already exist. Note that this change will be stored permanently at some point after this method invocation. To force permanent storage, use the method flush().
      Parameters:
      map - map from which to extract all properties and copy into this Configuration
      Since:
      inetcore 1.0.
    • putAll

      @Deprecated void putAll(Map map, boolean importDatasources)
      Deprecated.
      As of i-net Clear Reports 14, use putAll(Map)
      Puts all properties in the given map into this configuration, overwriting any properties which already exist. Note that this change will be stored permanently at some point after this method invocation. To force permanent storage, use the method flush().
      Parameters:
      map - Properties to import into this configuration
      importDatasources - ignored
      Since:
      inetcore 1.0.
    • getDescription

      String getDescription()
      Returns the description set for this configuration, which is found in the property "configuration.description", i.e. this is equivalent to calling get("configuration.description").
      Returns:
      the description of the configuration
      Since:
      inetcore 1.0.
      See Also:
    • setDescription

      void setDescription(String description)
      Sets a description for this configuration. This is stored in the property "configuration.description", i.e. this is equivalent to calling put("configuration.description",description"). The description can be any String, including null.
      Parameters:
      description - description of this configuration
      Since:
      inetcore 1.0.
    • equals

      boolean equals(Object obj)
      Compares the specified configuration with this configuration.
      Overrides:
      equals in class Object
      Parameters:
      obj - Configuration
      Returns:
      true if scope, name, description and properties of both configurations are equals, false otherwise.
      Since:
      inetcore 1.0.
    • compareTo

      int compareTo(Object obj)
      Compares this configuration with another object by comparing its name with the string representation of the object (or if the object is a configuration, with its name)
      Specified by:
      compareTo in interface Comparable
      Parameters:
      obj - object to compare this configuration with
      Returns:
      0 if equal, negative number if "less than", positive number if "greater than"
      Since:
      inetcore 1.0.
    • clear

      void clear()
      Removes all properties from this configuration.
      Since:
      inetcore 1.0.
    • isEmpty

      boolean isEmpty()
      Returns whether this configuration has any properties set
      Returns:
      whether this configuration has any properties set
      Since:
      inetcore 1.0.
      See Also:
    • flush

      void flush() throws BackingStoreException
      Forces any changes in the contents of this configuration to the persistent store for this scope. Once this method returns, it is safe to assume that all changes made in the configuration prior to the method invocation have become permanent.
      Throws:
      BackingStoreException - if it is not possible to write to the current scope
      Since:
      inetcore 1.0.
      See Also: