Class IntersectionReport


  • public class IntersectionReport
    extends java.lang.Object
    This class generates an "intersection report". The report is generated using 3 things: row criteria, column criteria and column value generators. Row and column criteria are collections of NamedQuery objects. The value reported in a given cell is calculated by first AND'ing together the relevant row and column criterion. In turn the AND'ed expression is provided to a ColumnValueGenerator which can make use of the query provided to calculate its particular value. Examples might be running Case.count(query) to get a responsive item count or running Case.search(query) and tweaking the results to include families or calling methods on CaseStatistics such as getAuditSize(query) to report responsive items total audited size. This class takes care of iteratively running these things and providing formatting as they are written into an XLSX Excel spreadsheet. If a scope query is provided via the method IntersectionReportSheetConfiguration.setScopeQuery(String), the provided query will be AND'ed together as well with each row/col criteria combination, allowing you to further scope the overall report to things like particular evidence, item types, tags, etc.
    • Constructor Detail

      • IntersectionReport

        public IntersectionReport​(java.lang.String file)
                           throws java.lang.Exception
        Creates a new instance
        Parameters:
        file - File path of existing XLSX if you wish to add to an existing workbook, can be null
        Throws:
        java.lang.Exception - Thrown if there are errors
    • Method Detail

      • findBatchLoadsInDateRange

        public static java.util.List<java.lang.String> findBatchLoadsInDateRange​(nuix.Case nuixCase,
                                                                                 org.joda.time.DateTime min,
                                                                                 org.joda.time.DateTime max)
        Analyzes batch loads in the given case, determining which have a loaded datetime that falls within the specified range, returning the GUIDs of the batch loads which qualify.
        Parameters:
        nuixCase - The case to analyze
        min - The minimum date time, can be null
        max - The maximum date time, can be null
        Returns:
        Returns a list of zero or more GUIDs for the batch loads loaded within the given date range
      • whenMessageGenerated

        public void whenMessageGenerated​(java.util.function.Consumer<java.lang.String> callback)
      • generate

        public void generate​(nuix.Case nuixCase,
                             java.lang.String sheetName,
                             IntersectionReportSheetConfiguration sheetConfig)
                      throws java.lang.Exception
        Generates a new report sheet using the row criteria, column criteria and value generators currently assigned to this instance
        Parameters:
        nuixCase - The Nuix case report data is collected against
        sheetName - The name of the excel worksheet to create
        sheetConfig - Configuration details regarding how this sheet should be generated
        Throws:
        java.lang.Exception - Thrown if there are errors
      • getColCategoryColorRing

        public ColorRing getColCategoryColorRing()
      • setColCategoryColorRing

        public void setColCategoryColorRing​(ColorRing colCategoryColorRing)