laika.util

Builders

object Builders

Generic support for builders that allow to combine container types with matching type classes into a final result.

The concrete use case for Laika is a concise and type-safe API for setting up directives or text roles. For these APIs and sample code see laika.parse.rst.Directives and laika.parse.rst.TextRoles.

This implementation is based on a concept outlined by Sadek Drobi in this gist: https://gist.github.com/sadache/3646092. The code used here is only a simplified subset of the demonstrated functionality.

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

Type Members

  1. class Builder[M[_]] extends AnyRef

    Builders for using combinators for up to 12 result values.

  2. class BuilderOps[M[_], A] extends AnyRef

    Allows to use the ~ combinator function on all classes that have a matching CanBuild type class.

  3. trait CanBuild[M[_]] extends AnyRef

    Contract for type classes that adapt a container type for use with these builders.

  4. class Result[+A] extends AnyRef

    A wrapper for a single result value.

  5. case class ~[+A, +B](_1: A, _2: B) extends Product with Serializable

    A wrapper for two result values.

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. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. implicit def toBuilderOps[M[_], A](a: M[A])(implicit fcb: CanBuild[M]): BuilderOps[M, A]

  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