Class LayoutImpl
- 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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
columns
protected LayoutDefinition
definition
protected String
definitionId
protected String
devTemplate
protected boolean
dynamic
protected String
id
protected String
mode
protected String
name
protected Map<String,Serializable>
properties
protected LayoutRow[]
rows
protected String
template
protected String
type
protected String
typeCategory
protected String
valueName
protected Map<String,Widget>
widgetMap
-
Constructor Summary
Constructors Modifier Constructor Description protected
LayoutImpl()
LayoutImpl(String name, String mode, String template, List<LayoutRow> rows, int columns, Map<String,Serializable> properties, String definitionId)
LayoutImpl(String name, String mode, String template, Map<String,Widget> widgets, Map<String,Serializable> properties, String definitionId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
computeWidgetMap()
int
getColumns()
Returns the maximum number of columns.LayoutDefinition
getDefinition()
Returns the definition from which this layout instance was generated.String
getDevTemplate()
Returns the template to use for dev mode.String
getId()
Returns the layout id, unique within the facelet context.String
getMode()
Returns the layout mode.String
getName()
Returns the layout name used to identify it within the layout service.Map<String,Serializable>
getProperties()
Get properties to use in this mode.Serializable
getProperty(String name)
Returns property with given name in this mode.LayoutRow[]
getRows()
Returns the table of widgets.String
getTagConfigId()
Returns the unique identifier of this widget to be used in tag configuration.String
getTemplate()
Returns the template used to render widgets.String
getType()
Returns the layout type.String
getTypeCategory()
Returns the layout type category.String
getValueName()
Gets the value name used to compute widget attributes.Widget
getWidget(String name)
Returns widget with given name.Map<String,Widget>
getWidgetMap()
Returns a widget map, with widget name as key.boolean
isDynamic()
Return true if this layout was generated from configuration on a service, and not generated on-the-fly using dynamic behaviors.void
setDefinition(LayoutDefinition definition)
void
setDevTemplate(String devTemplate)
void
setDynamic(boolean dynamic)
void
setId(String id)
Sets the layout id, unique within the facelet context.void
setProperty(String name, Serializable value)
Sets property with given name on the layout.void
setType(String type)
void
setTypeCategory(String typeCategory)
void
setValueName(String valueName)
Sets the value name used to compute widget bindings.String
toString()
-
-
-
Field Detail
-
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
-
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
-
-
Method Detail
-
computeWidgetMap
protected void computeWidgetMap()
-
getId
public String getId()
Description copied from interface:Layout
Returns the layout id, unique within the facelet context.
-
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 interfaceLayout
-
setId
public void setId(String id)
Description copied from interface:Layout
Sets the layout id, unique within the facelet context.
-
getName
public String getName()
Description copied from interface:Layout
Returns the layout name used to identify it within the layout service.
-
getTemplate
public String getTemplate()
Description copied from interface:Layout
Returns the template used to render widgets.- Specified by:
getTemplate
in interfaceLayout
-
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.
-
getColumns
public int getColumns()
Description copied from interface:Layout
Returns the maximum number of columns.- Specified by:
getColumns
in interfaceLayout
-
getWidget
public Widget getWidget(String name)
Description copied from interface:Layout
Returns widget with given name.Only widgets of the first level are retrieved.
-
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 interfaceLayout
-
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 interfaceLayout
-
getProperty
public Serializable getProperty(String name)
Description copied from interface:Layout
Returns property with given name in this mode.- Specified by:
getProperty
in interfaceLayout
- 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 interfaceLayout
- 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 interfaceLayout
-
setValueName
public void setValueName(String valueName)
Description copied from interface:Layout
Sets the value name used to compute widget bindings.- Specified by:
setValueName
in interfaceLayout
-
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 interfaceLayout
- Since:
- 6.0
-
setTypeCategory
public void setTypeCategory(String typeCategory)
- Since:
- 6.0
-
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.
-
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 interfaceLayout
-
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 interfaceLayout
-
setDefinition
public void setDefinition(LayoutDefinition definition)
-
-