Packages

package render

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. trait HierarchicalRenderer[T] extends Renderer[T, Node]

    Definition of type class HierarchicalRenderer for the purpose of serializing objects of type T.

    Definition of type class HierarchicalRenderer for the purpose of serializing objects of type T. Since, in general, T will be a case class which may include parameters which are case classes, we render to a hierarchical type: Node.

    T

    the type of object to be rendered.

    Annotations
    @implicitNotFound( ... )
  2. trait HierarchicalRenderers extends AnyRef

    Trait to define various renderers for rendering instance of case classes (with their various parameters), containers (Seq and Option), etc.

    Trait to define various renderers for rendering instance of case classes (with their various parameters), containers (Seq and Option), etc. to hierarchical output elements such as XML or HTML.

  3. abstract class JsonTableRenderer[T] extends Renderer[Table[T], String]

    Abstract Class JsonTableRenderer which will render a Table[T] as a JsValue.

    Abstract Class JsonTableRenderer which will render a Table[T] as a JsValue.

    TEST

    T

    the underlying type of the Table (i.e. the Row type) for which there must be evidence of JsonWriter[T].

  4. case class Node(style: String, content: Option[String], attributes: Map[String, String], children: Seq[Node]) extends Product with Serializable

    This case class defines a Node in the hierarchical output produced by rendering.

    This case class defines a Node in the hierarchical output produced by rendering. This class is used in conjunction with TreeWriter. The reason for this temporary structure is that we need the ability to merge (or otherwise process) nodes of the tree. Since U (see TreeWriter) is an opaque type as far as this code is concerned, we need our own representation of the tree.

    style

    a label that characterizes a particular node type. This will typically be translated directly into the "tag" parameter of the corresponding U type.

    content

    the content of this Node, if any.

    attributes

    the attributes of this Node (may be empty).

    children

    the children of this Node (may be empty).

  5. abstract class ProductHierarchicalRenderer[T <: Product] extends HierarchicalRenderer[T]
  6. trait Renderable[X] extends AnyRef

    Polymorphic trait which defines the behavior of some sort of collection with an underlying type X and which can be rendered.

    Polymorphic trait which defines the behavior of some sort of collection with an underlying type X and which can be rendered.

    CONSIDER: do we really need this trait? This trait is not a type class because X does not appear as a parameter or result of any of the methods.

    NOTE: this trait has no direct relationship with Renderer. CONSIDER a refactoring of the whole set of traits.

    X

    the underlying type of this Renderable.

  7. trait Renderer[T, O] extends AnyRef

    Definition of trait Renderer for the purpose of serializing objects of type T as an object of type O.

    Definition of trait Renderer for the purpose of serializing objects of type T as an object of type O. This trait may be used as a type class for either T or O (or both).

    NOTE: this trait has no direct relationship with Renderable.

    T

    the type of object to be rendered.

    O

    the type of the serialization result.

    Annotations
    @implicitNotFound( ... )
  8. abstract class TaggedHierarchicalRenderer[T] extends HierarchicalRenderer[T]
  9. trait TreeWriter[U] extends AnyRef

    This trait defines the behavior of a hierarchical writer of objects.

    This trait defines the behavior of a hierarchical writer of objects. For example, U might be defined as an HTML or XML document. TreeWriter is of course typically used as a type class.

    CONSIDER parameterizing the underlying type of the content parameter.

    U

    the type of a node of the tree.

    Annotations
    @implicitNotFound( ... )
  10. trait UntaggedHierarchicalRenderer[T] extends HierarchicalRenderer[T]

    CONSIDER having style defined as an Option[String]

    CONSIDER having style defined as an Option[String]

    T

    the type of object to be rendered.

  11. trait Writable[O] extends AnyRef

    Trait to enable rendering of a table to a sequential (non-hierarchical) output format.

    Trait to enable rendering of a table to a sequential (non-hierarchical) output format.

    O

    the underlying type, for example, a StringBuilder.

Value Members

  1. object HierarchicalRenderer
  2. object Node extends Serializable

    Companion object to Node.

Ungrouped