Class ItemFactory

java.lang.Object
com.flexganttfx.extras.properties.ItemFactory

public class ItemFactory
extends Object
This factory creates property sheet items for a given object. In previous versions of FlexGanttFX these items were returned by the custom controls themselves but since this was more a feature used at evaluation time of the product it did not make sense to keep them in production code. Hence they were refactored to this place.

Supported classes / classes with an item provider implementation

  • GanttChartBase
  • GanttChart
  • GraphicsBase
  • AgendaLinesLayer
  • ChartLinesLayer
  • DSTLineLayer
  • GridLinesLayer
  • HoverTimeIntervalLayer
  • InnerLinesLayer
  • LayoutLayer
  • NowLineLayer
  • ScaleLayer
  • SelectedTimeIntervalsLayer
  • SystemLayer
  • ZoomTimeIntervalLayer
  • ActivityBarRenderer
  • ActivityRendererItemProvider
  • CompletableActivityRenderer
  • Renderer
Custom item providers can be registered via registerItemProvider(Class, ItemProvider).

  • Constructor Details

    • ItemFactory

      public ItemFactory()
  • Method Details

    • getItems

      public List<org.controlsfx.control.PropertySheet.Item> getItems​(Object object)
      Returns a list of property sheet items for the given object. The method will try to find a dedicated item provider based on the class of the object. If none can be found it will utilise BeanPropertyUtils.getProperties(java.lang.Object).
      Parameters:
      object - the object for which to return property sheet items
      Returns:
      the resulting property sheet items
    • registerItemProvider

      public static <T> void registerItemProvider​(Class<T> clazz, ItemProvider<T> itemProvider)