Class

org.opencypher.okapi.trees

TreeNode

Related Doc: package trees

Permalink

abstract class TreeNode[T <: TreeNode[T]] extends Product with Traversable[T]

This is the basic tree node class. Usually it makes more sense to use AbstractTreeNode, which uses reflection to generate the children and withNewChildren field/method. Our benchmarks show that manually implementing them can result in a speedup of a factor of ~3 for tree rewrites, so in performance critical places it might make sense to extend TreeNode instead.

This class uses array operations instead of Scala collections, both for improved performance as well as to save stack frames during recursion, which allows it to operate on trees that are several thousand nodes high.

Self Type
T
Linear Supertypes
Traversable[T], GenTraversable[T], GenericTraversableTemplate[T, Traversable], TraversableLike[T, Traversable[T]], GenTraversableLike[T, Traversable[T]], Parallelizable[T, ParIterable[T]], TraversableOnce[T], GenTraversableOnce[T], FilterMonadic[T, Traversable[T]], HasNewBuilder[T, Traversable[T]], Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TreeNode
  2. Traversable
  3. GenTraversable
  4. GenericTraversableTemplate
  5. TraversableLike
  6. GenTraversableLike
  7. Parallelizable
  8. TraversableOnce
  9. GenTraversableOnce
  10. FilterMonadic
  11. HasNewBuilder
  12. Product
  13. Equals
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TreeNode()

    Permalink

Type Members

  1. type Self = Traversable[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  2. class WithFilter extends FilterMonadic[A, Repr]

    Permalink
    Definition Classes
    TraversableLike

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  2. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  3. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product
  4. implicit abstract def tt: scala.reflect.api.JavaUniverse.TypeTag[T]

    Permalink
    Attributes
    protected
  5. abstract def withNewChildren(newChildren: Array[T]): T

    Permalink

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def ++[B >: T, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  4. def ++:[B >: T, That](that: Traversable[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike
  5. def ++:[B >: T, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike
  6. def /:[B](z: B)(op: (B, T) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  7. def :\[B](z: B)(op: (T, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  8. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def addString(b: StringBuilder): StringBuilder

    Permalink
    Definition Classes
    TraversableOnce
  10. def addString(b: StringBuilder, sep: String): StringBuilder

    Permalink
    Definition Classes
    TraversableOnce
  11. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

    Permalink
    Definition Classes
    TraversableOnce
  12. def aggregate[B](z: ⇒ B)(seqop: (B, T) ⇒ B, combop: (B, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  13. def argString: String

    Permalink

    Turns all arguments in args into a string that describes the arguments.

    Turns all arguments in args into a string that describes the arguments.

    returns

    argument string

  14. def args: Iterator[Any]

    Permalink

    Arguments that should be printed.

    Arguments that should be printed. The default implementation excludes children.

  15. def arity: Int

    Permalink
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. def children: Array[T]

    Permalink
  18. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. def collect[B, That](pf: PartialFunction[T, B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  20. def collectFirst[B](pf: PartialFunction[T, B]): Option[B]

    Permalink
    Definition Classes
    TraversableOnce
  21. def companion: GenericCompanion[Traversable]

    Permalink
    Definition Classes
    Traversable → GenTraversable → GenericTraversableTemplate
  22. def containsChild(other: T): Boolean

    Permalink

    Checks if other is a direct child of this tree.

    Checks if other is a direct child of this tree.

    other

    other tree

    returns

    true, iff other is a direct child of this tree

  23. def containsTree(other: T): Boolean

    Permalink

    Checks if the parameter tree is contained within this tree.

    Checks if the parameter tree is contained within this tree. A tree always contains itself.

    other

    other tree

    returns

    true, iff other is contained in that tree

  24. def copyToArray[B >: T](xs: Array[B], start: Int, len: Int): Unit

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  25. def copyToArray[B >: T](xs: Array[B]): Unit

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  26. def copyToArray[B >: T](xs: Array[B], start: Int): Unit

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  27. def copyToBuffer[B >: T](dest: Buffer[B]): Unit

    Permalink
    Definition Classes
    TraversableOnce
  28. def count(p: (T) ⇒ Boolean): Int

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  29. implicit def ct: ClassTag[T]

    Permalink
    Attributes
    protected
  30. def drop(n: Int): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  31. def dropWhile(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  32. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  34. def exists(p: (T) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  35. def filter(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  36. def filterNot(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  37. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  38. def find(p: (T) ⇒ Boolean): Option[T]

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  39. def flatMap[B, That](f: (T) ⇒ GenTraversableOnce[B])(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike → FilterMonadic
  40. def flatten[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): Traversable[B]

    Permalink
    Definition Classes
    GenericTraversableTemplate
  41. def fold[A1 >: T](z: A1)(op: (A1, A1) ⇒ A1): A1

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  42. def foldLeft[B](z: B)(op: (B, T) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  43. def foldRight[B](z: B)(op: (T, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  44. def forall(p: (T) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  45. def foreach[O](f: (T) ⇒ O): Unit

    Permalink
    Definition Classes
    TreeNode → GenericTraversableTemplate → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
  46. def genericBuilder[B]: Builder[B, Traversable[B]]

    Permalink
    Definition Classes
    GenericTraversableTemplate
  47. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  48. def groupBy[K](f: (T) ⇒ K): Map[K, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  49. def hasDefiniteSize: Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  50. def hashCode(): Int

    Permalink
    Definition Classes
    TreeNode → AnyRef → Any
  51. def head: T

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  52. def headOption: Option[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  53. def height: Int

    Permalink
  54. def init: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  55. def inits: Iterator[Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  56. def isEmpty: Boolean

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  57. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  58. def isLeaf: Boolean

    Permalink
  59. final def isTraversableAgain: Boolean

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike → GenTraversableOnce
  60. def last: T

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  61. def lastOption: Option[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  62. def map[O <: TreeNode[O]](f: (T) ⇒ O)(implicit arg0: ClassTag[O]): O

    Permalink
  63. def map[B, That](f: (T) ⇒ B)(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike → FilterMonadic
  64. def max[B >: T](implicit cmp: Ordering[B]): T

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  65. def maxBy[B](f: (T) ⇒ B)(implicit cmp: Ordering[B]): T

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  66. def min[B >: T](implicit cmp: Ordering[B]): T

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  67. def minBy[B](f: (T) ⇒ B)(implicit cmp: Ordering[B]): T

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  68. def mkString: String

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  69. def mkString(sep: String): String

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  70. def mkString(start: String, sep: String, end: String): String

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  71. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  72. def newBuilder: Builder[T, Traversable[T]]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    GenericTraversableTemplate → HasNewBuilder
  73. def nonEmpty: Boolean

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  74. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  76. def par: ParIterable[T]

    Permalink
    Definition Classes
    Parallelizable
  77. def parCombiner: Combiner[T, ParIterable[T]]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike → Parallelizable
  78. def partition(p: (T) ⇒ Boolean): (Traversable[T], Traversable[T])

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  79. def pretty: String

    Permalink

    Returns a string-tree representation of the node.

    Returns a string-tree representation of the node.

    returns

    tree-style representation of that node and all children

  80. def product[B >: T](implicit num: Numeric[B]): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  81. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  82. def productPrefix: String

    Permalink
    Definition Classes
    Product
  83. def reduce[A1 >: T](op: (A1, A1) ⇒ A1): A1

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  84. def reduceLeft[B >: T](op: (B, T) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce
  85. def reduceLeftOption[B >: T](op: (B, T) ⇒ B): Option[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  86. def reduceOption[A1 >: T](op: (A1, A1) ⇒ A1): Option[A1]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  87. def reduceRight[B >: T](op: (T, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  88. def reduceRightOption[B >: T](op: (T, B) ⇒ B): Option[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  89. def repr: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  90. def reversed: List[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableOnce
  91. def rewrite(f: PartialFunction[T, T]): T

    Permalink
  92. def rewriteTopDown(f: PartialFunction[T, T]): T

    Permalink
  93. def scan[B >: T, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  94. def scanLeft[B, That](z: B)(op: (B, T) ⇒ B)(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  95. def scanRight[B, That](z: B)(op: (T, B) ⇒ B)(implicit bf: CanBuildFrom[Traversable[T], B, That]): That

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The behavior of scanRight has changed. The previous behavior can be reproduced with scanRight.reverse.

  96. def seq: Traversable[T]

    Permalink
    Definition Classes
    Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
  97. def show(): Unit

    Permalink

    Prints a tree representation of the node.

  98. def size: Int

    Permalink
    Definition Classes
    TreeNode → GenTraversableLike → TraversableOnce → GenTraversableOnce
  99. def slice(from: Int, until: Int): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  100. def span(p: (T) ⇒ Boolean): (Traversable[T], Traversable[T])

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  101. def splitAt(n: Int): (Traversable[T], Traversable[T])

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  102. def stringPrefix: String

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  103. def sum[B >: T](implicit num: Numeric[B]): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  104. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  105. def tail: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  106. def tails: Iterator[Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  107. def take(n: Int): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  108. def takeWhile(p: (T) ⇒ Boolean): Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableLike
  109. def thisCollection: Traversable[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  110. def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, T, Col[T]]): Col[T]

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
  111. def toArray[B >: T](implicit arg0: ClassTag[B]): Array[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  112. def toBuffer[B >: T]: Buffer[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  113. def toCollection(repr: Traversable[T]): Traversable[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  114. def toIndexedSeq: IndexedSeq[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  115. def toIterable: Iterable[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  116. def toIterator: Iterator[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableOnce
  117. def toList: List[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  118. def toMap[T, U](implicit ev: <:<[T, (T, U)]): Map[T, U]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  119. def toSeq: Seq[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  120. def toSet[B >: T]: Set[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  121. def toStream: Stream[T]

    Permalink
    Definition Classes
    TraversableLike → GenTraversableOnce
  122. def toString(): String

    Permalink
    Definition Classes
    TreeNode → TraversableLike → AnyRef → Any
  123. def toTraversable: Traversable[T]

    Permalink
    Definition Classes
    TraversableLike → TraversableOnce → GenTraversableOnce
    Annotations
    @deprecatedOverriding( ... , "2.11.0" )
  124. def toVector: Vector[T]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  125. def transform[O](f: (T, List[O]) ⇒ O): O

    Permalink
  126. def transpose[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): Traversable[Traversable[B]]

    Permalink
    Definition Classes
    GenericTraversableTemplate
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) transpose throws an IllegalArgumentException if collections are not uniformly sized.

  127. def unzip[A1, A2](implicit asPair: (T) ⇒ (A1, A2)): (Traversable[A1], Traversable[A2])

    Permalink
    Definition Classes
    GenericTraversableTemplate
  128. def unzip3[A1, A2, A3](implicit asTriple: (T) ⇒ (A1, A2, A3)): (Traversable[A1], Traversable[A2], Traversable[A3])

    Permalink
    Definition Classes
    GenericTraversableTemplate
  129. def view(from: Int, until: Int): TraversableView[T, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  130. def view: TraversableView[T, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike
  131. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  134. def withFilter(p: (T) ⇒ Boolean): FilterMonadic[T, Traversable[T]]

    Permalink
    Definition Classes
    TraversableLike → FilterMonadic

Inherited from Traversable[T]

Inherited from GenTraversable[T]

Inherited from GenericTraversableTemplate[T, Traversable]

Inherited from TraversableLike[T, Traversable[T]]

Inherited from GenTraversableLike[T, Traversable[T]]

Inherited from Parallelizable[T, ParIterable[T]]

Inherited from TraversableOnce[T]

Inherited from GenTraversableOnce[T]

Inherited from FilterMonadic[T, Traversable[T]]

Inherited from HasNewBuilder[T, Traversable[T]]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped