Class ColumnRenderersBuilder

java.lang.Object
com.illumon.iris.db.v2.ColumnRenderersBuilder

@ScriptApi public class ColumnRenderersBuilder extends Object
Builds and parses the directive for Table.COLUMN_RENDERERS_ATTRIBUTE.
  • Constructor Details

    • ColumnRenderersBuilder

      public ColumnRenderersBuilder()
  • Method Details

    • setDefaultRenderClass

      public ColumnRenderersBuilder setDefaultRenderClass(String className)
      Sets the default class name to use for the default render type.
      Parameters:
      className - the fully qualified class name of the column renderer
    • setRenderClass

      public ColumnRenderersBuilder setRenderClass(ColumnRenderersBuilder.ColumnRendererType renderType, String className)
      Sets the class name associated with a given render type.
      Parameters:
      renderType - the render type to set
      className - the fully qualified class name of the column renderer
    • setRenderer

      @ScriptApi public ColumnRenderersBuilder setRenderer(String columnName, String rendererName)
    • setRenderer

      Sets a column renderer for a column of a given name.
      Parameters:
      columnName - the name of the column
      rendererType - the type of renderer
    • setRenderer

      @ScriptApi public ColumnRenderersBuilder setRenderer(String columnName, Class<? extends TableCellRenderer> rendererClass)
    • removeRenderer

      @ScriptApi public ColumnRenderersBuilder removeRenderer(String columnName)
      Removes the renderer for a column of a given name.
      Parameters:
      columnName - the name of the column
    • clear

      Clears all column renderers.
    • isColumnRendererSet

      public boolean isColumnRendererSet(String columnName)
      Indicates if a specific column has a renderer set in the builder.
      Parameters:
      columnName - the name of the column to check
      Returns:
      true if it is set, false otherwise
    • getRenderClassName

      public String getRenderClassName(String columnName)
      Gets the fully qualified class name for the renderer of a column.
      Parameters:
      columnName - the column name
      Returns:
      the fully qualified class name of the renderer
    • getRendererType

      public ColumnRenderersBuilder.ColumnRendererType getRendererType(String columnName)
      Gets the column renderer type assigned to a given column name. Returns null if none is assigned.
      Parameters:
      columnName - the name of the column
      Returns:
      the renderer type, null if none is assigned
    • getRenderClassForType

      public String getRenderClassForType(ColumnRenderersBuilder.ColumnRendererType type)
    • isEmpty

      public boolean isEmpty()
      Identifies if this builder-instance contains any renderer-definitions. If not, then the calling method should not attempt to add our directive an an attribute to a table
      Returns:
      true if there are no renderers defined, else false
    • getColumnSet

      public Set<String> getColumnSet()
      Returns a Set of column-names, which may be verified as valid prior to setting our directive as an attribute to the table
      Returns:
      An iterable Set of column-names identified by this builder-instance
    • get

      public static ColumnRenderersBuilder get(Table source)
      Gets a ColumnRenderersBuilder from the COLUMN_RENDERERS_ATTRIBUTE in a source Table.
      Parameters:
      source - the Table
      Returns:
      the ColumnRenderersBuilder from the Table
    • fromDirective

      public static ColumnRenderersBuilder fromDirective(String directive)
      Creates a new ColumnRenderersBuilder from an existing COLUMN_RENDERERS_ATTRIBUTE directive.
      Parameters:
      directive - a valid COLUMN_RENDERERS_ATTRIBUTE directive
      Returns:
      a ColumnRenderersBuilder represented by the directive
    • empty

      public static ColumnRenderersBuilder empty()
    • buildDirective

      public String buildDirective()
      Builds the COLUMN_RENDERERS_ATTRIBUTE directive from the data in this ColumnRenderersBuilder.
      Returns:
      a String representing the COLUMN_RENDERERS_ATTRIBUTE directive
    • toString

      public String toString()
      Overrides:
      toString in class Object