Interface FrameContext

All Known Subinterfaces:
WindowContext
All Known Implementing Classes:
FragmentContextImpl, FrameContextImpl, WindowContextImpl

public interface FrameContext
Provides access to frame parameters and component values.
  • Method Details

    • getFrame

      Frame getFrame()
    • getParams

      Map<String,Object> getParams()
      For a window contains parameters passed to the window on opening.
      For a frame, linked to the window in XML, contains owning window parameters.
      For a frame, opened dynamically by openFrame() method contains parameters, passed to the method.
    • getParamValue

      <T> T getParamValue(String param)
      Value of an external parameters passed to the window on opening.
    • getValue

      @Nullable <T> T getValue(String property)
      Retrieves value of a component by complex name, dereferencing path to the component and possible drill down to the value.
      Parameters:
      property - path to the value. Parsed by the following rules:
      First split by dots taking into account square brackets, and looking for a component from left to right.
      If a component not found, return null.
      If a component found and it is a HasValue or ListComponent, retrieve its value.
      If the value is null, return it.
      If there is nothing left in the path after the component name, return the value.
      Else if the value is entity, drill down to it and return the value of the property by remaining property path.
      If the value is an EnumClass and remaining property path is "id", return EnumClass.getId() value.
    • setValue

      void setValue(String property, @Nullable Object value)
      Set value of a component by its path in the window
      Parameters:
      property - path to the component (separated by dots, taking into account square brackets)
      value - value to set
      Throws:
      UnsupportedOperationException - if the component not found or is not a HasValue
    • addValueChangeListener

      Subscription addValueChangeListener(String componentName, Consumer<HasValue.ValueChangeEvent> listener)
      Add the value listener to the specified component
      Parameters:
      componentName - a component name
      listener - a listener to add