Class PropertyPathActionFactory<I,V>

All Implemented Interfaces:
DynamicActionAttributes, ActionFactory<ListColumnAction<I,V>>

public class PropertyPathActionFactory<I,V> extends AbstractJspActionFactory<ListColumnAction<I,V>>
A factory implementation that generates list columns based on a property path as used by the Metadata class. Most properties of the ListColumnAction can be configured by calling setter method for this factory. The ListColumnAction.getProperty() is used as the property path in Metadata.getPropertyPath(String, boolean). By default, the sample property is used for sorting, filtering and exporting, which are enabled by default.

A formatter class can be specified by setFormatterClass(String) if the given class has a public, no-argument constructor. Otherwise a suitable formatter is selected by calling FormatterFactory.getTypeFormatter(SessionControl, Type) with the type taken from ListColumnAction.getValueType().

More advanced usage or formatting requirements need a custom factory implementation.

Since:
3.2
Author:
Nicklas
  • Field Details

    • id

      private String id
    • clazz

      private String clazz
    • style

      private String style
    • title

      private String title
    • subtitle

      private String subtitle
    • cellClass

      private String cellClass
    • cellStyle

      private String cellStyle
    • disableOverflowCheck

      private boolean disableOverflowCheck
    • tooltip

      private String tooltip
    • property

      private String property
    • valueType

      private Type valueType
    • sortable

      private boolean sortable
    • sortProperty

      private String sortProperty
    • filterable

      private boolean filterable
    • filterProperty

      private String filterProperty
    • exportable

      private boolean exportable
    • exportProperty

      private String exportProperty
    • formatterClass

      private String formatterClass
    • exportFormatterClass

      private String exportFormatterClass
  • Constructor Details

    • PropertyPathActionFactory

      public PropertyPathActionFactory()
  • Method Details

    • getActions

      public ListColumnAction<I,V>[] getActions(InvokationContext<? super ListColumnAction<I,V>> context)
      Description copied from interface: ActionFactory
      This method may be called one or several times for each request. This is decided by the extension point. If, for example, the extension point is a pure single-item extension point then this method is probably only called once. If the extension point is a per-item extension point in a list context, then this method may be called once for every item in the list. The context parameter contains all information about the context of the extension point, including the current item, if any.
      Parameters:
      context - The current invokation context
      Returns:
      An array of actions that should be added to the extension point. Returns null or an empty array if there are no actions in the current context.
    • setId

      public void setId(String id)
    • setClazz

      public void setClazz(String clazz)
    • setStyle

      public void setStyle(String style)
    • setTitle

      public void setTitle(String title)
    • setSubtitle

      public void setSubtitle(String subtitle)
      Since:
      3.18
    • setCellClass

      public void setCellClass(String cellClass)
      Since:
      3.18
    • setCellStyle

      public void setCellStyle(String cellStyle)
      Since:
      3.18
    • setDisableOverflowCheck

      public void setDisableOverflowCheck(boolean disableOverflowCheck)
      Since:
      3.18
    • setTooltip

      public void setTooltip(String tooltip)
    • setProperty

      public void setProperty(String property)
    • setValueType

      public void setValueType(String valueType)
    • setSortable

      public void setSortable(String sortable)
    • setSortProperty

      public void setSortProperty(String sortProperty)
    • setFilterable

      public void setFilterable(String filterable)
    • setFilterProperty

      public void setFilterProperty(String filterProperty)
    • setExportable

      public void setExportable(String exportable)
    • setExportProperty

      public void setExportProperty(String exportProperty)
    • setFormatterClass

      public void setFormatterClass(String formatterClass)
    • setExportFormatterClass

      public void setExportFormatterClass(String formatterClass)
    • getFormatter

      protected Formatter<V> getFormatter(InvokationContext context, String className)
      Create a formatter instance that should be used for the online table. If a className is specified try to load an instance of that class, otherwise use FormatterFactory.getTypeFormatter(SessionControl, Type) with the value type from setValueType(String).