org.springframework.ui.context.support

## Class DelegatingThemeSource

- java.lang.Object
- - org.springframework.ui.context.support.DelegatingThemeSource

- All Implemented Interfaces:
    HierarchicalThemeSource, ThemeSource

      public class DelegatingThemeSource
      extends Object
      implements HierarchicalThemeSource

  Empty ThemeSource that delegates all calls to the parent ThemeSource. If no parent is available, it simply won't resolve any theme.

  Used as placeholder by UiApplicationContextUtils, if a context doesn't define its own ThemeSource. Not intended for direct use in applications.

  Since:
    1.2.4
  Author:
    Juergen Hoeller
  See Also:
    `UiApplicationContextUtils`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DelegatingThemeSource()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ThemeSource` | `getParentThemeSource()` Return the parent of this ThemeSource, or `null` if none.
    `Theme` | `getTheme(String themeName)` Return the Theme instance for the given theme name.
    `void` | `setParentThemeSource(ThemeSource parentThemeSource)` Set the parent that will be used to try to resolve theme messages that this object can't resolve.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DelegatingThemeSource

          public DelegatingThemeSource()

  - ### Method Detail

    - #### setParentThemeSource

          public void setParentThemeSource(@Nullable
                                           ThemeSource parentThemeSource)

      Description copied from interface: `HierarchicalThemeSource`
      Set the parent that will be used to try to resolve theme messages that this object can't resolve.
      Specified by:
        `setParentThemeSource` in interface `HierarchicalThemeSource`
      Parameters:
        `parentThemeSource` - the parent ThemeSource that will be used to resolve messages that this object can't resolve. May be `null`, in which case no further resolution is possible.

    - #### getParentThemeSource

          @Nullable
          public ThemeSource getParentThemeSource()

      Description copied from interface: `HierarchicalThemeSource`
      Return the parent of this ThemeSource, or `null` if none.
      Specified by:
        `getParentThemeSource` in interface `HierarchicalThemeSource`

    - #### getTheme

          @Nullable
          public Theme getTheme(String themeName)

      Description copied from interface: `ThemeSource`
      Return the Theme instance for the given theme name.

      The returned Theme will resolve theme-specific messages, codes, file paths, etc (e.g. CSS and image files in a web environment).

      Specified by:
        `getTheme` in interface `ThemeSource`
      Parameters:
        `themeName` - the name of the theme
      Returns:
        the corresponding Theme, or `null` if none defined. Note that, by convention, a ThemeSource should at least be able to return a default Theme for the default theme name "theme" but may also return default Themes for other theme names.
      See Also:
        `AbstractThemeResolver.ORIGINAL_DEFAULT_THEME_NAME`