Packages

class Traversal[A] extends IterableOnce[A] with IterableOps[A, Traversal, Traversal[A]] with IterableFactoryDefaults[A, Traversal]

TODO more docs

Just like Tinkerpop3 and most other Iterators, a Traversal can only be executed once. Since this may trip up users, we'll log a warning

Linear Supertypes
IterableFactoryDefaults[A, Traversal], IterableOps[A, Traversal, Traversal[A]], IterableOnceOps[A, Traversal, Traversal[A]], IterableOnce[A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Traversal
  2. IterableFactoryDefaults
  3. IterableOps
  4. IterableOnceOps
  5. IterableOnce
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Traversal(elements: IterableOnce[A])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ++[B >: A](suffix: IterableOnce[B]): Traversal[B]
    Definition Classes
    IterableOps
    Annotations
    @inline()
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def addString(b: StringBuilder): StringBuilder
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  6. final def addString(b: StringBuilder, sep: String): StringBuilder
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  7. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
    Definition Classes
    IterableOnceOps
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def cast[B]: Traversal[B]
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. def coll: Traversal[A]
    Attributes
    protected
    Definition Classes
    Traversal → IterableOps
  12. def collect[B](pf: PartialFunction[A, B]): Traversal[B]
    Definition Classes
    IterableOps → IterableOnceOps
  13. def collectFirst[B](pf: PartialFunction[A, B]): Option[B]
    Definition Classes
    IterableOnceOps
  14. def concat[B >: A](suffix: IterableOnce[B]): Traversal[B]
    Definition Classes
    IterableOps
  15. def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int
    Definition Classes
    IterableOnceOps
  16. def copyToArray[B >: A](xs: Array[B], start: Int): Int
    Definition Classes
    IterableOnceOps
  17. def copyToArray[B >: A](xs: Array[B]): Int
    Definition Classes
    IterableOnceOps
  18. def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  19. def count: Int
  20. def count(p: (A) => Boolean): Int
    Definition Classes
    IterableOnceOps
  21. def dedup(implicit behaviourBuilder: (Builder) => Builder = DedupBehaviour.noop): Traversal[A]

    Deduplicate elements of this traversal - a.k.a.

    Deduplicate elements of this traversal - a.k.a. distinct, unique, ... Preserves order and laziness semantics of Traversal.

    By default, it's determining duplicates based on equals and hashCode, just like java.util.Set. While that's usually fine, be aware that it has to maintain references to those elements even after they've been traversed, i.e. they can't be garbage collected while the traversal has not yet completed. In other words, the semantics are like LazyList, and not like Iterator.

    It can be configured to determine duplicates based on hashCode only instead, in which case elements can get freed.

    Example:
    1. .dedup
      .dedup(_.hashComparisonOnly)

      see TraversalTests.scala

  22. def drop(n: Int): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  23. def dropRight(n: Int): Traversal[A]
    Definition Classes
    IterableOps
  24. def dropWhile(p: (A) => Boolean): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  25. def empty: Traversal[A]
    Definition Classes
    IterableFactoryDefaults → IterableOps
  26. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  28. def exists(p: (A) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  29. def filter(pred: (A) => Boolean): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  30. def filterNot(pred: (A) => Boolean): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  31. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  32. def find(p: (A) => Boolean): Option[A]
    Definition Classes
    IterableOnceOps
  33. def flatMap[B](f: (A) => IterableOnce[B]): Traversal[B]
    Definition Classes
    IterableOps → IterableOnceOps
  34. def flatten[B](implicit asIterable: (A) => IterableOnce[B]): Traversal[B]
    Definition Classes
    IterableOps → IterableOnceOps
  35. def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
    Definition Classes
    IterableOnceOps
  36. def foldLeft[B](z: B)(op: (B, A) => B): B
    Definition Classes
    IterableOnceOps
  37. def foldRight[B](z: B)(op: (A, B) => B): B
    Definition Classes
    IterableOnceOps
  38. def forall(p: (A) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  39. def foreach[U](f: (A) => U): Unit
    Definition Classes
    IterableOnceOps
  40. def fromSpecific(coll: IterableOnce[A]): Traversal[A]
    Attributes
    protected
    Definition Classes
    IterableFactoryDefaults → IterableOps
  41. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  42. def groupBy[K](f: (A) => K): Map[K, Traversal[A]]
    Definition Classes
    IterableOps
  43. def groupMap[K, B](key: (A) => K)(f: (A) => B): Map[K, Traversal[B]]
    Definition Classes
    IterableOps
  44. def groupMapReduce[K, B](key: (A) => K)(f: (A) => B)(reduce: (B, B) => B): Map[K, B]
    Definition Classes
    IterableOps
  45. def grouped(size: Int): Iterator[Traversal[A]]
    Definition Classes
    IterableOps
  46. def hasNext: Boolean
  47. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  48. def head: A
    Definition Classes
    IterableOps
  49. def headOption: Option[A]
    Definition Classes
    IterableOps
  50. def help()(implicit elementType: ClassTag[A]): String

    Print help/documentation based on the current elementType A.

    Print help/documentation based on the current elementType A. Relies on all step extensions being annotated with @TraversalExt / @Doc Note that this works independently of tab completion and implicit conversions in scope - it will simply list all documented steps in the classpath

  51. def helpVerbose()(implicit elementType: ClassTag[A]): String
  52. def init: Traversal[A]
    Definition Classes
    IterableOps
  53. def inits: Iterator[Traversal[A]]
    Definition Classes
    IterableOps
  54. def isEmpty: Boolean
    Definition Classes
    IterableOnceOps
  55. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  56. def isTraversableAgain: Boolean
    Definition Classes
    IterableOps → IterableOnceOps
  57. def iterableFactory: IterableFactory[Traversal]
    Definition Classes
    Traversal → IterableOps
  58. def iterate: Unit
  59. val iterator: Iterator[A]
    Definition Classes
    Traversal → IterableOnce
  60. def knownSize: Int
    Definition Classes
    IterableOnce
  61. def l: Seq[A]

    Execute the traversal and convert the result to a list - shorthand for toList

    Execute the traversal and convert the result to a list - shorthand for toList

    Annotations
    @Doc(short = "Execute the traversal and convert the result to a list - shorthand for `toList`", long = help.this.Doc.<init>$default$2, example = help.this.Doc.<init>$default$3)
  62. def last: A
    Definition Classes
    IterableOps
  63. def lastOption: Option[A]
    Definition Classes
    IterableOps
  64. def map[B](f: (A) => B): Traversal[B]
    Definition Classes
    IterableOps → IterableOnceOps
  65. def max[B >: A](implicit ord: Ordering[B]): A
    Definition Classes
    IterableOnceOps
  66. def maxBy[B](f: (A) => B)(implicit cmp: Ordering[B]): A
    Definition Classes
    IterableOnceOps
  67. def maxByOption[B](f: (A) => B)(implicit cmp: Ordering[B]): Option[A]
    Definition Classes
    IterableOnceOps
  68. def maxOption[B >: A](implicit ord: Ordering[B]): Option[A]
    Definition Classes
    IterableOnceOps
  69. def min[B >: A](implicit ord: Ordering[B]): A
    Definition Classes
    IterableOnceOps
  70. def minBy[B](f: (A) => B)(implicit cmp: Ordering[B]): A
    Definition Classes
    IterableOnceOps
  71. def minByOption[B](f: (A) => B)(implicit cmp: Ordering[B]): Option[A]
    Definition Classes
    IterableOnceOps
  72. def minOption[B >: A](implicit ord: Ordering[B]): Option[A]
    Definition Classes
    IterableOnceOps
  73. final def mkString: String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  74. final def mkString(sep: String): String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  75. final def mkString(start: String, sep: String, end: String): String
    Definition Classes
    IterableOnceOps
  76. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  77. def newSpecificBuilder: Builder[A, Traversal[A]]
    Attributes
    protected
    Definition Classes
    IterableFactoryDefaults → IterableOps
  78. def next: A
  79. def nextOption: Option[A]
  80. def nonEmpty: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
  81. def not(trav: (A) => Traversal[_]): Traversal[A]

    filters out objects from the traversal stream when the traversal provided as an argument returns an object.

    filters out objects from the traversal stream when the traversal provided as an argument returns an object. inverse of

    where
  82. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  83. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  84. def partition(p: (A) => Boolean): (Traversal[A], Traversal[A])
    Definition Classes
    IterableOps
  85. def partitionMap[A1, A2](f: (A) => Either[A1, A2]): (Traversal[A1], Traversal[A2])
    Definition Classes
    IterableOps
  86. def product[B >: A](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  87. def reduce[B >: A](op: (B, B) => B): B
    Definition Classes
    IterableOnceOps
  88. def reduceLeft[B >: A](op: (B, A) => B): B
    Definition Classes
    IterableOnceOps
  89. def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
    Definition Classes
    IterableOnceOps
  90. def reduceOption[B >: A](op: (B, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  91. def reduceRight[B >: A](op: (A, B) => B): B
    Definition Classes
    IterableOnceOps
  92. def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  93. final def repeat[B >: A](repeatTraversal: (A) => Traversal[B])(implicit behaviourBuilder: (Builder[B]) => Builder[B] = RepeatBehaviour.noop[B]): Traversal[B]

    Repeat the given traversal

    Repeat the given traversal

    By default it will continue repeating until there's no more results, not emit anything along the way, and use depth first search.

    The @param behaviourBuilder allows you to configure end conditions (times/until), whether it should emit elements it passes by, and which search algorithm to use (depth-first or breadth-first).

    Search algorithm: Depth First Search (DFS) vs Breadth First Search (BFS): DFS means the repeat step will go deep before wide. BFS does the opposite: wide before deep. For example, given the graph

    L3 <- L2 <- L1 <- Center -> R1 -> R2 -> R3 -> R4

    DFS will iterate the nodes in the order:

    Center, L1, L2, L3, R1, R2, R3, R4

    BFS will iterate the nodes in the order:

    Center, L1, R1, R1, R2, L3, R3, R4
    Example:
    1. .repeat(_.out)                            // repeat until there's no more elements, emit nothing, use DFS
      .repeat(_.out)(_.times(3))                               // perform exactly three repeat iterations
      .repeat(_.out)(_.until(_.property(Name).endsWith("2")))  // repeat until the 'Name' property ends with '2'
      .repeat(_.out)(_.emit)                                   // emit everything along the way
      .repeat(_.out)(_.emit.breadthFirstSearch)                // emit everything, use BFS
      .repeat(_.out)(_.emit(_.property(Name).startsWith("L"))) // emit if the 'Name' property starts with 'L'
    Note

    this works for domain-specific steps as well as generic graph steps - for details please take a look at the examples in RepeatTraversalTests: both .followedBy and .out work.

    See also

    RepeatTraversalTests for more detail and examples for all of the above.

  94. def reversed: Iterable[A]
    Attributes
    protected
    Definition Classes
    IterableOnceOps
  95. def scan[B >: A](z: B)(op: (B, B) => B): Traversal[B]
    Definition Classes
    IterableOps
  96. def scanLeft[B](z: B)(op: (B, A) => B): Traversal[B]
    Definition Classes
    IterableOps → IterableOnceOps
  97. def scanRight[B](z: B)(op: (A, B) => B): Traversal[B]
    Definition Classes
    IterableOps
  98. def sideEffect(fun: (A) => Unit): Traversal[A]

    perform side effect without changing the contents of the traversal

    perform side effect without changing the contents of the traversal

    Annotations
    @Doc(short = "perform side effect without changing the contents of the traversal", long = help.this.Doc.<init>$default$2, example = help.this.Doc.<init>$default$3)
  99. def sideEffectPF(pf: PartialFunction[A, Unit]): Traversal[A]

    perform side effect without changing the contents of the traversal will only apply the partialFunction if it is defined for the given input - analogous to collect

  100. def size: Int
    Definition Classes
    IterableOnceOps
  101. def sizeCompare(that: Iterable[_]): Int
    Definition Classes
    IterableOps
  102. def sizeCompare(otherSize: Int): Int
    Definition Classes
    IterableOps
  103. final def sizeIs: SizeCompareOps
    Definition Classes
    IterableOps
    Annotations
    @inline()
  104. def slice(from: Int, until: Int): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  105. def sliding(size: Int, step: Int): Iterator[Traversal[A]]
    Definition Classes
    IterableOps
  106. def sliding(size: Int): Iterator[Traversal[A]]
    Definition Classes
    IterableOps
  107. def span(p: (A) => Boolean): (Traversal[A], Traversal[A])
    Definition Classes
    IterableOps → IterableOnceOps
  108. def splitAt(n: Int): (Traversal[A], Traversal[A])
    Definition Classes
    IterableOps → IterableOnceOps
  109. def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S
    Definition Classes
    IterableOnce
  110. def sum[B >: A](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  111. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  112. def tail: Traversal[A]
    Definition Classes
    IterableOps
  113. def tails: Iterator[Traversal[A]]
    Definition Classes
    IterableOps
  114. def take(n: Int): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  115. def takeRight(n: Int): Traversal[A]
    Definition Classes
    IterableOps
  116. def takeWhile(p: (A) => Boolean): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  117. def tapEach[U](f: (A) => U): Traversal[A]
    Definition Classes
    IterableOps → IterableOnceOps
  118. def to[C1](factory: Factory[A, C1]): C1
    Definition Classes
    IterableOnceOps
  119. def toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]
    Definition Classes
    IterableOnceOps
  120. final def toBuffer[B >: A]: Buffer[B]
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  121. def toIndexedSeq: IndexedSeq[A]
    Definition Classes
    IterableOnceOps
  122. def toIterable: Iterable[A]
    Definition Classes
    Traversal → IterableOps
  123. def toList: List[A]
    Definition Classes
    IterableOnceOps
  124. def toMap[K, V](implicit ev: <:<[A, (K, V)]): Map[K, V]
    Definition Classes
    IterableOnceOps
  125. def toSeq: Seq[A]
    Definition Classes
    IterableOnceOps
  126. def toSet[B >: A]: Set[B]
    Definition Classes
    IterableOnceOps
  127. def toString(): String
    Definition Classes
    Traversal → AnyRef → Any
  128. def toVector: Vector[A]
    Definition Classes
    IterableOnceOps
  129. def transpose[B](implicit asIterable: (A) => Iterable[B]): Traversal[Traversal[B]]
    Definition Classes
    IterableOps
  130. def unzip[A1, A2](implicit asPair: (A) => (A1, A2)): (Traversal[A1], Traversal[A2])
    Definition Classes
    IterableOps
  131. def unzip3[A1, A2, A3](implicit asTriple: (A) => (A1, A2, A3)): (Traversal[A1], Traversal[A2], Traversal[A3])
    Definition Classes
    IterableOps
  132. def view: View[A]
    Definition Classes
    IterableOps
  133. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  134. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  135. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  136. def where(trav: (A) => Traversal[_]): Traversal[A]

    filters out objects from the traversal stream when the traversal provided as an argument returns an object.

    filters out objects from the traversal stream when the traversal provided as an argument returns an object. inverse of

    not
  137. def withFilter(p: (A) => Boolean): WithFilter[A, Traversal]
    Definition Classes
    IterableOps
  138. def zip[B](that: IterableOnce[B]): Traversal[(A, B)]
    Definition Classes
    IterableOps
  139. def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): Traversal[(A1, B)]
    Definition Classes
    IterableOps
  140. def zipWithIndex: Traversal[(A, Int)]
    Definition Classes
    IterableOps → IterableOnceOps

Deprecated Value Members

  1. def ++:[B >: A](that: IterableOnce[B]): Traversal[B]
    Definition Classes
    IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use ++ instead of ++: for collections of type Iterable

  2. final def /:[B](z: B)(op: (B, A) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldLeft instead of /:

  3. final def :\[B](z: B)(op: (A, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldRight instead of :\

  4. def aggregate[B](z: => B)(seqop: (B, A) => B, combop: (B, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) aggregate is not relevant for sequential collections. Use foldLeft(z)(seqop) instead.

  5. def companion: IterableFactory[Traversal]
    Definition Classes
    IterableOps
    Annotations
    @deprecated @deprecatedOverriding("Use iterableFactory instead", "2.13.0") @inline()
    Deprecated

    (Since version 2.13.0) Use iterableFactory instead

  6. final def copyToBuffer[B >: A](dest: Buffer[B]): Unit
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use dest ++= coll instead

  7. def hasDefiniteSize: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details)

  8. final def repr: Traversal[A]
    Definition Classes
    IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use coll instead of repr in a collection implementation, use the collection value itself from the outside

  9. final def toIterator: Iterator[A]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .iterator instead of .toIterator

  10. final def toStream: Stream[A]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .to(LazyList) instead of .toStream

  11. final def toTraversable: Traversable[A]
    Definition Classes
    IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use toIterable instead

  12. def view(from: Int, until: Int): View[A]
    Definition Classes
    IterableOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use .view.slice(from, until) instead of .view(from, until)

Inherited from IterableFactoryDefaults[A, Traversal]

Inherited from IterableOps[A, Traversal, Traversal[A]]

Inherited from IterableOnceOps[A, Traversal, Traversal[A]]

Inherited from IterableOnce[A]

Inherited from AnyRef

Inherited from Any

Ungrouped