Interface InheritanceValueMap

All Superinterfaces:
Map<String,Object>, ValueMap
All Known Subinterfaces:
Framework, FrameworkComponent
All Known Implementing Classes:
ComponentInheritanceValueMap, HierarchyNodeInheritanceValueMap

public interface InheritanceValueMap extends ValueMap
The InheritanceValueMap is an extension of the ValueMap which allows to take the hierarchy of resources into account while looking for properties. As such, if a property is not found on the current resource, it will be looked up on its parent and so on. The exact inheritance mechanism depends on the implementation.

For this purpose, the additional methods getInherited(String, Class) and getInherited(String, Object) are added to the ValueMap interface.

  • Method Details

    • getInherited

      <T> T getInherited(String name, Class<T> type)
      Get a named property and convert it into the given type, and take the properties of parent resources / pages into account, if the property is not found locally.

      The exact inheritance mechanism depends on the implementation.

      Type Parameters:
      T - type parameter
      Parameters:
      name - The name of the property
      type - The class of the type
      Returns:
      Return named value converted to type T or null if non existing or can't be converted.
    • getInherited

      <T> T getInherited(String name, T defaultValue)
      Get a named property and convert it into the given type, and take the properties of parent resources / pages into account, if the property is not found locally.

      The exact inheritance mechanism depends on the implementation.

      Type Parameters:
      T - type parameter
      Parameters:
      name - The name of the property
      defaultValue - The default value to use if the named property does not exist or cannot be converted to the requested type. The default value is also used to define the type to convert the value to. If this is null any existing property is not converted.
      Returns:
      Return named value converted to type T or the default value if non existing or can't be converted.