Object

io.dylemma.spac.Parser

followedByStream

Related Doc: package Parser

Permalink

object followedByStream extends FollowedBy[[+T2]Transformer[XMLEvent, T2], Out]

An intermediate object that can be used to create a Transformer from result of this Parser.

Examples:

val p1: Parser[A] = /* ... */
def getP2Stream(p1Result: A): Transformer[XMLEvent, B] = /* ... */
val combined: Transformer[XMLEvent, B] = p1.andThenStream(getP2Stream)

// alternative `flatMap` syntax
val combined: Transformer[XMLEvent, B] = for {
  p1Result <- p1.andThenStream
  p2Result <- getP2Stream(p1Result)
} yield p2Result

An example of where this is useful is when an XML element contains some "dictionary" object at the beginning, followed by a sequence of "data" objects which reference the dictionary. For large sequences, combining them to a List (to use with Parser's and combiners) is undesireable; we can use this approach to avoid doing so.

returns

An intermediate object which has an apply and flatMap that can be used to combine this Parser and a Transformer in a sequence.

Source
Parser.scala
Linear Supertypes
FollowedBy[[+T2]Transformer[XMLEvent, T2], Out], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. followedByStream
  2. FollowedBy
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply[T2](getTransformer: (Out) ⇒ Transformer[XMLEvent, T2]): Transformer[XMLEvent, T2]

    Permalink

    Creates a sequence handler by combining this one and a getNext function such that when this handler finishes, a second handler is created by passing its result ot getNext.

    Creates a sequence handler by combining this one and a getNext function such that when this handler finishes, a second handler is created by passing its result ot getNext.

    T2

    The output type of the second handler

    returns

    The combined handler

    Definition Classes
    followedByStreamFollowedBy
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def flatMap[T2](getNext: (Out) ⇒ Transformer[XMLEvent, T2]): Transformer[XMLEvent, T2]

    Permalink

    Alias for apply, to help use this object in for-comprehensions.

    Alias for apply, to help use this object in for-comprehensions.

    Creates a sequence handler by combining this one and a getNext function such that when this handler finishes, a second handler is created by passing its result ot getNext.

    T2

    The output type of the second handler

    getNext

    A function that takes this handler's result to create a second handler

    returns

    The combined handler

    Definition Classes
    FollowedBy
  11. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  14. def map[T2](f: (Out) ⇒ T2): FollowedBy[[+T2]Transformer[XMLEvent, T2], T2]

    Permalink

    Convenience for using this object in for-comprehensions; wraps this ToSequence by calling f on the first handler's result and passing that into the getNext function.

    Convenience for using this object in for-comprehensions; wraps this ToSequence by calling f on the first handler's result and passing that into the getNext function. You probably don't want to call this directly

    Definition Classes
    FollowedBy
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  19. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from FollowedBy[[+T2]Transformer[XMLEvent, T2], Out]

Inherited from AnyRef

Inherited from Any

Ungrouped