java.lang.Object
org.nuxeo.ecm.platform.forms.layout.api.impl.LayoutImpl
All Implemented Interfaces:
Serializable, Layout

public class LayoutImpl extends Object implements Layout
Implementation for layouts.
Author:
Anahide Tchertchian
See Also:
  • Field Details

    • id

      protected String id
    • name

      protected String name
    • type

      protected String type
    • typeCategory

      protected String typeCategory
    • mode

      protected String mode
    • template

      protected String template
    • devTemplate

      protected String devTemplate
    • rows

      protected LayoutRow[] rows
    • widgetMap

      protected Map<String,Widget> widgetMap
    • columns

      protected int columns
    • properties

      protected Map<String,Serializable> properties
    • definitionId

      protected String definitionId
    • valueName

      protected String valueName
    • dynamic

      protected boolean dynamic
    • definition

      protected LayoutDefinition definition
  • Constructor Details

  • Method Details

    • computeWidgetMap

      protected void computeWidgetMap()
    • getId

      public String getId()
      Description copied from interface: Layout
      Returns the layout id, unique within the facelet context.
      Specified by:
      getId in interface Layout
    • getTagConfigId

      public String getTagConfigId()
      Description copied from interface: Layout
      Returns the unique identifier of this widget to be used in tag configuration.

      In JSF, layouts are rendered dynamically and re-use the tag configuration of the tag rendering them when adding handlers to the facelet hierarchy. Since this tag identifier is used to perform some kind of caching on the JSF layer, it needs to change when the layout definition changes, so that JSF components are not mistaken for another one.

      This identifier is unique to a given layout definition and always returns the same result given the same layout definition.

      Specified by:
      getTagConfigId in interface Layout
    • setId

      public void setId(String id)
      Description copied from interface: Layout
      Sets the layout id, unique within the facelet context.
      Specified by:
      setId in interface Layout
    • getName

      public String getName()
      Description copied from interface: Layout
      Returns the layout name used to identify it within the layout service.
      Specified by:
      getName in interface Layout
    • getMode

      public String getMode()
      Description copied from interface: Layout
      Returns the layout mode.
      Specified by:
      getMode in interface Layout
    • getTemplate

      public String getTemplate()
      Description copied from interface: Layout
      Returns the template used to render widgets.
      Specified by:
      getTemplate in interface Layout
    • getRows

      public LayoutRow[] getRows()
      Description copied from interface: Layout
      Returns the table of widgets.

      This list is computed from the LayoutDefinition rows.

      Widgets that are not found are ignored.

      Specified by:
      getRows in interface Layout
    • getColumns

      public int getColumns()
      Description copied from interface: Layout
      Returns the maximum number of columns.
      Specified by:
      getColumns in interface Layout
    • getWidget

      public Widget getWidget(String name)
      Description copied from interface: Layout
      Returns widget with given name.

      Only widgets of the first level are retrieved.

      Specified by:
      getWidget in interface Layout
    • getWidgetMap

      public Map<String,Widget> getWidgetMap()
      Description copied from interface: Layout
      Returns a widget map, with widget name as key.

      Only widgets of the first level are retrieved.

      Specified by:
      getWidgetMap in interface Layout
    • getProperties

      public Map<String,Serializable> getProperties()
      Description copied from interface: Layout
      Get properties to use in this mode.

      The way that properties will be mapped to rendered components is managed by the widget type.

      Specified by:
      getProperties in interface Layout
    • getProperty

      public Serializable getProperty(String name)
      Description copied from interface: Layout
      Returns property with given name in this mode.
      Specified by:
      getProperty in interface Layout
      Parameters:
      name - the property name.
      Returns:
      the property value or null if not found.
    • setProperty

      public void setProperty(String name, Serializable value)
      Description copied from interface: Layout
      Sets property with given name on the layout. If there is already a property with this name on the layout, it will be overridden.
      Specified by:
      setProperty in interface Layout
      Parameters:
      name - the property name.
      value - the property value or null if not found.
    • getValueName

      public String getValueName()
      Description copied from interface: Layout
      Gets the value name used to compute widget attributes.
      Specified by:
      getValueName in interface Layout
    • setValueName

      public void setValueName(String valueName)
      Description copied from interface: Layout
      Sets the value name used to compute widget bindings.
      Specified by:
      setValueName in interface Layout
    • getType

      public String getType()
      Description copied from interface: Layout
      Returns the layout type.
      Specified by:
      getType in interface Layout
      Since:
      6.0
    • setType

      public void setType(String type)
      Since:
      6.0
    • getTypeCategory

      public String getTypeCategory()
      Description copied from interface: Layout
      Returns the layout type category.
      Specified by:
      getTypeCategory in interface Layout
      Since:
      6.0
    • setTypeCategory

      public void setTypeCategory(String typeCategory)
      Since:
      6.0
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isDynamic

      public boolean isDynamic()
      Description copied from interface: Layout
      Return true if this layout was generated from configuration on a service, and not generated on-the-fly using dynamic behaviors.
      Specified by:
      isDynamic in interface Layout
    • setDynamic

      public void setDynamic(boolean dynamic)
    • getDevTemplate

      public String getDevTemplate()
      Description copied from interface: Layout
      Returns the template to use for dev mode.

      Is retrieved from layout definition templates, or from layout type templates, using the BuiltinModes.DEV.

      Specified by:
      getDevTemplate in interface Layout
    • setDevTemplate

      public void setDevTemplate(String devTemplate)
    • getDefinition

      public LayoutDefinition getDefinition()
      Description copied from interface: Layout
      Returns the definition from which this layout instance was generated.

      Useful in dev mode to show the corresponding configuration in the UI.

      Specified by:
      getDefinition in interface Layout
    • setDefinition

      public void setDefinition(LayoutDefinition definition)