com.dslplatform.api.client

ReportingProxy

trait ReportingProxy extends AnyRef

Proxy service to reporting operations such as document generation, report population and history lookup. Report should be used to minimize calls to server.

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;
  }
}

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ReportingProxy
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def createReport[TResult](report: Report[TResult], templater: String): Future[Array[Byte]]

    Create document from report.

    Create document from report. Send message to server with serialized report specification. Server will return template populated with found data.

    DSL example:

    module Todo {
      report LoadData {
        List<Task> unfinishedTasks 'it => it.finishedAt == null' ORDER BY createdAt;
        templater createDocument 'Tasks.docx' pdf;
      }
    }
    

    report

    report specification

    templater

    templater name

    returns

    future to document content

  2. abstract def findTemplater[TIdentifiable <: Identifiable](file: String, uri: String, toPdf: Boolean = true)(implicit arg0: ClassTag[TIdentifiable]): Future[Array[Byte]]

    Populate template using found domain object.

    Populate template using found domain object. Optionally convert document to PDF.

    file

    template file

    uri

    domain object identity

    toPdf

    convert populated document to PDF

    returns

    future to populated document

  3. abstract def getHistory[TAggregate <: AggregateRoot](uris: TraversableOnce[String])(implicit arg0: ClassTag[TAggregate]): Future[IndexedSeq[History[TAggregate]]]

    Get aggregate root history.

    Get aggregate root history. History History is collection of snapshots made at state changes.

    uris

    collection of aggregate identities

    returns

    future to collection of found aggregate histories

  4. abstract def olapCube[TCube <: Cube[TSearchable], TSearchable <: Searchable](templater: String, specification: Option[Specification[TSearchable]] = None, dimensions: TraversableOnce[String] = Nil, facts: TraversableOnce[String] = Nil, limit: Option[Int] = None, offset: Option[Int] = None, order: Map[String, Boolean] = Map.empty)(implicit arg0: ClassTag[TCube], arg1: ClassTag[TSearchable]): Future[Array[Byte]]

    Perform data analysis on specified data source.

    Perform data analysis on specified data source. Data source is filtered using provided specification. Analysis is performed by grouping data by dimensions and aggregating information using specified facts.

    templater

    templater report

    specification

    filter data source

    dimensions

    group by dimensions

    facts

    analyze using facts

    limit

    maximum number of results

    offset

    skip initial results

    order

    custom order for result

    returns

    future to document content

  5. abstract def populate[TResult](report: Report[TResult])(implicit arg0: ClassTag[TResult]): Future[TResult]

    Populate report.

    Populate report. Send message to server with serialized report specification.

    report

    specification

    returns

    future to populated results

  6. abstract def searchTemplater[TSearchable <: Searchable](file: String, specification: Option[Specification[TSearchable]] = None, toPdf: Boolean = true)(implicit arg0: ClassTag[TSearchable]): Future[Array[Byte]]

    Populate template using domain objects which satisfies Specification[TSearchable] specification.

    Populate template using domain objects which satisfies Specification[TSearchable] specification. Optionally convert document to PDF.

    TSearchable

    domain object type

    file

    template file

    specification

    filter domain objects using specification

    toPdf

    convert populated document to PDF

    returns

    future to populated document

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  17. def olapCube[TCube <: Cube[TSearchable], TSearchable <: Searchable](templater: String, specification: Specification[TSearchable], dimensions: TraversableOnce[String], facts: TraversableOnce[String])(implicit arg0: ClassTag[TCube], arg1: ClassTag[TSearchable]): Future[Array[Byte]]

    Helper method for Olap cube.

    Helper method for Olap cube. Perform data analysis on specified data source. Data source is filtered using provided specification. Analysis is performed by grouping data by dimensions and aggregating information using specified facts.

    templater

    templater report

    specification

    filter data source

    dimensions

    group by dimensions

    facts

    analyze using facts

    returns

    future to document content

  18. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  19. def toString(): String

    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped