public interface ReportingProxy
It is preferred to use domain patterns instead of this proxy service.
DSL example:
module Todo { aggregate Task { timestamp createdAt; timestamp? finishedAt; } report LoadData { int maxUnfinished; List<Task> unfinishedTasks 'it => it.finishedAt == null' LIMIT maxUnfinished ORDER BY createdAt; List<Task> recentlyFinishedTasks 'it => it.finishedAt != null' LIMIT 10 ORDER BY finishedAt DESC; } }
Modifier and Type | Method and Description |
---|---|
<TReport> java.util.concurrent.Future<byte[]> |
createReport(TReport report,
java.lang.String templater)
Create document from report.
|
<TIdentifiable extends Identifiable> |
findTemplater(java.lang.Class<TIdentifiable> manifest,
java.lang.String file,
java.lang.String uri,
boolean toPdf)
Populate template using found domain object.
|
<TAggregate extends AggregateRoot> |
getHistory(java.lang.Class<TAggregate> manifest,
java.lang.Iterable<java.lang.String> uris)
Get aggregate root history.
|
<TSource extends Searchable> |
olapCube(java.lang.String cubeName,
Specification<TSource> specification,
java.lang.String templater,
java.lang.Iterable<java.lang.String> dimensions,
java.lang.Iterable<java.lang.String> facts,
java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.Boolean>> order)
Perform data analysis on specified data source.
|
java.util.concurrent.Future<byte[]> |
olapCube(java.lang.String cubeName,
java.lang.String templater,
java.lang.Iterable<java.lang.String> dimensions,
java.lang.Iterable<java.lang.String> facts,
java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.Boolean>> order)
Perform data analysis on specified data source.
|
<TReport> java.util.concurrent.Future<TReport> |
populate(TReport report)
Populate report.
|
<TSearchable extends Searchable> |
searchTemplater(java.lang.Class<TSearchable> manifest,
java.lang.String file,
Specification<TSearchable> specification,
boolean toPdf)
Populate template using domain objects which satisfies
specification . |
<TReport> java.util.concurrent.Future<TReport> populate(TReport report)
report
- specification<TReport> java.util.concurrent.Future<byte[]> createReport(TReport report, java.lang.String templater)
DSL example:
module Todo { report LoadData { List<Task> unfinishedTasks 'it => it.finishedAt == null' ORDER BY createdAt; templater createDocument 'Tasks.docx' pdf; } }
report
- specificationtemplater
- templater name<TSource extends Searchable> java.util.concurrent.Future<byte[]> olapCube(java.lang.String cubeName, Specification<TSource> specification, java.lang.String templater, java.lang.Iterable<java.lang.String> dimensions, java.lang.Iterable<java.lang.String> facts, java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.Boolean>> order)
cubeName
- olap cube namespecification
- filter data sourcetemplater
- templater namedimensions
- group by dimensionsfacts
- analyze using factsorder
- custom order for resultjava.util.concurrent.Future<byte[]> olapCube(java.lang.String cubeName, java.lang.String templater, java.lang.Iterable<java.lang.String> dimensions, java.lang.Iterable<java.lang.String> facts, java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.Boolean>> order)
cubeName
- olap cube nametemplater
- templater namedimensions
- group by dimensionsfacts
- analyze using factsorder
- custom order for result<TAggregate extends AggregateRoot> java.util.concurrent.Future<java.util.List<History<TAggregate>>> getHistory(java.lang.Class<TAggregate> manifest, java.lang.Iterable<java.lang.String> uris)
History
is collection of snapshots made at state changes.manifest
- aggregate root typeuris
- collection of aggregate identities<TIdentifiable extends Identifiable> java.util.concurrent.Future<byte[]> findTemplater(java.lang.Class<TIdentifiable> manifest, java.lang.String file, java.lang.String uri, boolean toPdf)
manifest
- domain object typefile
- template fileuri
- domain object identitytoPdf
- convert populated document to PDF<TSearchable extends Searchable> java.util.concurrent.Future<byte[]> searchTemplater(java.lang.Class<TSearchable> manifest, java.lang.String file, Specification<TSearchable> specification, boolean toPdf)
specification
.
Optionally convert document to PDF.manifest
- domain object typefile
- template filespecification
- filter domain objects using specificationtoPdf
- convert populated document to PDF