Interface Column


public interface Column
This interface represents a column, representing the data of a report.
  • Method Details

    • getPath

      String getPath()
      Gets the path of this instance of the column.
      Returns:
      The path of this column (for example "/etc/reports/areport/jcr:content/report/col1")
    • getName

      String getName()
      Gets the name of this instance of the column.
      Returns:
      The name of this column (usually last part of the column's path)
    • getTitle

      String getTitle()
      Gets the title of this instance of the column.
      Returns:
      The title of the column
    • getColumnType

      String getColumnType()
      Returns the column's data type.
      Returns:
      The column's data type
    • getActualType

      String getActualType()

      Returns the column's actual type for the current report setting.

      Contrary to getColumnType(), this method considers aggregation state.

      The returned value must be supported by the clientside reporting implementation. See DisplayDataType for a list of officially supported display types. Note that there might be more supported types (which is why a String is returned rather than a DisplayDataType).

      Returns:
      The actual type
    • getColumnDef

      QueryEngineConfig getColumnDef()
      Get the query engine-specific column definitions.
      Returns:
      The query engine-specific definition
    • isGrouped

      boolean isGrouped()
      Checks if the column is currently grouped.
      Returns:
      true if the column is grouped
    • getAggregateType

      String getAggregateType()
      Returns the aggregate type defined for the column.
      Returns:
      The aggregate type defined for the column
    • getSorting

      Sorting getSorting()
      Returns the sorting defined for the column.
      Returns:
      The sorting defined for the column
    • startProcessing

      void startProcessing()
      Starts the postprocessing of data.
    • endProcessing

      void endProcessing()
      Ends the postprocessing of data.
    • preprocessData

      CellValue preprocessData(ProcessingPhase type, DataRow row, boolean isAggregated, boolean isReportGrouped)

      Preprocesses the specified data row.

      If required by the type parameter (for example for ProcessingPhase.APPLY), the preprocessed data gets changed in the DataRow specified.

      Parameters:
      type - Type of preprocessing to be executed
      row - The row to be preprocessed
      isAggregated - true if the preprocessing is executed for the aggregated column value (if the column actually represents an aggregated value)
      isReportGrouped - true if the report as a whole is grouped
      Returns:
      The preprocessed data
    • resolve

      void resolve(Session session, DataRow rowToResolve) throws RepositoryException

      Resolves the column's value in the specified row if applicable.

      The resolved value must be set in the row.

      Parameters:
      session - JCR Session used for resolving
      rowToResolve - The row
      Throws:
      RepositoryException - if resolving the value has failed due to a repository problem
    • matchesFilter

      boolean matchesFilter(FilteringPhase phase, DataRow rowToCheck)
      Checks if the specified DataRow matches the current filter settings
      Parameters:
      phase - The current filtering phase
      rowToCheck - The row to be checked against the filter
      Returns:
      true if the row matches the filter and should be kept in the result set
    • cleanup

      void cleanup()
      Cleans up the column after using it.