org.eclipse.handly.context

## Interface IContext

- All Known Implementing Classes:
    Context, GuiceContext

      public interface IContext

  A context supplies values associated with keys; keys are instances of `Property` or `Class`.

  Context implementations may use an identity-based lookup, name-based lookup, or anything in-between. For portability, keys need to be unique instances with unique names.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `containsKey(java.lang.Class<?> clazz)` Returns whether this context has a value associated with the given class.
    `boolean` | `containsKey(Property<?> property)` Returns whether this context has a value associated with the given property.
    `<T> T` | `get(java.lang.Class<T> clazz)` Returns the context value associated with the given class.
    `<T> T` | `get(Property<T> property)` Returns the context value associated with the given property.
    `default <T> T` | `getOrDefault(Property<T> property)` Returns the context value associated with the given property; if no value is associated with the given property, returns the default value of the property.

- - ### Method Detail

    - #### get

          <T> T get(Property<T> property)

      Returns the context value associated with the given property.
      Parameters:
        `property` - the property being queried (not `null`)
      Returns:
        an object corresponding to the given property, or `null`

    - #### getOrDefault

          default <T> T getOrDefault(Property<T> property)

      Returns the context value associated with the given property; if no value is associated with the given property, returns the default value of the property.

      This implementation makes no guarantees about synchronization or atomicity.

      Parameters:
        `property` - the property being queried (not `null`)
      Returns:
        an object corresponding to the given property, or the property's default value (may be `null`)
      See Also:
        `Property.defaultValue()`

    - #### get

          <T> T get(java.lang.Class<T> clazz)

      Returns the context value associated with the given class.
      Parameters:
        `clazz` - the class being queried (not `null`)
      Returns:
        an object corresponding to the given class, or `null`

    - #### containsKey

          boolean containsKey(Property<?> property)

      Returns whether this context has a value associated with the given property.
      Parameters:
        `property` - the property being queried (not `null`)
      Returns:
        `true` if this context has a value for the given property, and `false` otherwise

    - #### containsKey

          boolean containsKey(java.lang.Class<?> clazz)

      Returns whether this context has a value associated with the given class.
      Parameters:
        `clazz` - the class being queried (not `null`)
      Returns:
        `true` if this context has a value for the given class, and `false` otherwise

Copyright (c) 2014, 2020 1C-Soft LLC and others. Made available under the Eclipse Public License 2.0