Packages

trait Combinators extends AnyRef

Provides combinators to describe the expected structure of a specific directive.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Combinators
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class AttributePart[T] extends DirectivePart[T]
  2. class PositionalAttributes[T] extends DirectivePart[Seq[T]]
  3. class SeparatedBodyPart[T] extends DirectivePart[Multipart[T]]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def allAttributes: DirectivePart[Config]

    A combinator that captures all attributes in a directive declaration.

    A combinator that captures all attributes in a directive declaration.

    This is useful when a directive implementation allows the use of any arbitrary attribute name, but leaves the burden of validation to the implementor of the directive. This part does not provide automatic error handling for missing required attributes for example.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def attribute(key: String): AttributePart[ConfigValue]

    Specifies a required attribute from the HOCON section of the directive.

    Specifies a required attribute from the HOCON section of the directive.

    key

    the key that must be used in markup or templates

    returns

    a directive part that can be combined with further parts

  7. def attribute(position: Int): AttributePart[ConfigValue]

    Specifies a required attribute from the positional attribute section of the directive.

    Specifies a required attribute from the positional attribute section of the directive.

    position

    the position within the attribute list

    returns

    a directive part that can be combined with further parts

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  9. def cursor: DirectivePart[DocumentCursor]

    Indicates that access to the document cursor is required.

    Indicates that access to the document cursor is required. This may be required if the directive relies on information from the document structure, its title or the parent tree it is contained in.

  10. def empty[T](result: T): DirectivePart[T]

    Specifies an empty directive that does not accept any attributes or body elements.

    Specifies an empty directive that does not accept any attributes or body elements.

    result

    the fixed result each empty directive will produce

    returns

    a directive part that usually won't be combined with other parts

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. def parsedBody[T](parser: (Parser) ⇒ parse.Parser[T]): DirectivePart[T]

    Specifies a required body part with a custom parser.

    Specifies a required body part with a custom parser.

    The provided parser factory function has to accept a parameter for an instance providing access to the default parser for blocks and spans with all user and theme extensions installed.

    This is useful for situations where some custom parsing logic has to be combined with the standard block/span parsing rules.

    This is a fairly rare requirement, and most likely used the zero-param parsedBody method will suffice in most cases.

    returns

    a directive part that can be combined with further parts

  21. def parsedBody: DirectivePart[Seq[E]]

    Specifies a required body part parsed as spans or blocks, depending on the type of directive.

    Specifies a required body part parsed as spans or blocks, depending on the type of directive.

    returns

    a directive part that can be combined with further parts

  22. def positionalAttributes: PositionalAttributes[ConfigValue]

    A combinator that captures all positional attributes in a directive declaration.

    A combinator that captures all positional attributes in a directive declaration.

    This is useful when the positional attributes represent a flexible, comma-separated list of values. Using as on the directive decodes all attributes as the same type. To decode with different types, use the combinators for individual positional attributes, e.g. attribute(0).

  23. def rawBody: DirectivePart[String]

    Specifies a required body part.

    Specifies a required body part.

    returns

    a directive part that can be combined with further parts

  24. def separatedBody[T](separators: Seq[SeparatorDirective[T]]): DirectivePart[Multipart[T]]

    Specifies a required body part divided by separator directives.

    Specifies a required body part divided by separator directives.

    It is recommended that all separators extend a sealed trait, if the directive supports more than one separator kind. The separators need to be immediate children in the body element of the parent directive.

    separators

    all separator directives accepted as children of this directive.

    returns

    a directive part that can be combined with further parts

  25. def source: DirectivePart[SourceFragment]

    Indicates that access to the source of the directive is required.

    Indicates that access to the source of the directive is required. This may be required if the directive needs to produce instances of InvalidElement for error scenarios, which requires passing the source.

    This should normally be a rare requirement, as it is more convenient to use evalMap on the directive builder and pass simple strings describing any error and let the library insert the corresponding source.

  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped