Class IntersectionReport
- java.lang.Object
-
- com.nuix.superutilities.reporting.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 ofNamedQuery
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 aColumnValueGenerator
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 methodIntersectionReportSheetConfiguration.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 Summary
Constructors Constructor Description IntersectionReport(java.lang.String file)
Creates a new instance
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.void
generate(nuix.Case nuixCase, java.lang.String sheetName, IntersectionReportSheetConfiguration sheetConfig)
Generates a new report sheet using the row criteria, column criteria and value generators currently assigned to this instanceColorRing
getColCategoryColorRing()
void
setColCategoryColorRing(ColorRing colCategoryColorRing)
void
whenMessageGenerated(java.util.function.Consumer<java.lang.String> callback)
void
whenProgressUpdated(IntersectionReportProgressCallback callback)
-
-
-
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 analyzemin
- The minimum date time, can be nullmax
- 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
-
whenProgressUpdated
public void whenProgressUpdated(IntersectionReportProgressCallback callback)
-
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 againstsheetName
- The name of the excel worksheet to createsheetConfig
- 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)
-
-