com.codecommit.antixml

Group

class Group [+A <: Node] extends IndexedSeq[A] with IndexedSeqLike[A, Group[A]] with Selectable[A]

Represents a collection of arbitrary nodes (Node)). Note that this collection need not have a single root parent element. Thus, a valid Group could be as follows:

Group(EntityRef("quot"), Text("Daniel is "), Elem(None, "em", Attributes(), Map(), Group(Text("delusional!"))), EntityRef("quot"))

This would correspond to the following XML fragment (note: not actually well-formed XML, since it is lacking a single root element):

&quot;Daniel is <em>delusional!</em>&quot;

Note that unlike scala.xml, Group is not a special type of Node! This design decision has a very profound impact on the framework as a whole. In general, the result is an API which is more consistent and more predictable than it otherwise would have been. However, it also resulted in some unfortunate sacrifices: specifically, full XPath semantics. The exact semantics of the\ and \\ operators are defined in their respective scaladocs.

Group is parameterized based on the type of Node it contains. In the general case (such as the one illustrated above), this will be exactly Node. However, there are some very common cases wherein a Group may have a more specific type than just Node. For example:

val ns: Group[Node] = ...
val results = ns \ "name"

In this example, results will have type Group[Elem]. This is because the selector employed ("name") can only produce results of type Elem. This mechanism forms the basis for the typed selectors mechanism, which is extremely powerful and serves to eliminate a great deal of boiler-plate casting when traversing XML hierarchies.

In the general case, Group is backed by an instance of scala.collection.immutable.Vector . This implementation detail is significant as it implies two things. First, the implementation of Group is truly immutable, meaning that there are no tricky concurrency semantics to worry about. Second, unlike scala.xml (which backs its sequences by either List or ArrayBuffer, depending on phase of the moon), it is possible to perform efficient random-access and updates across the entire Group. Random access is implemented by the apply method, while random "updates" are implemented by the updated method. Fast prepend and append operations are also available.

Beyond this, all standard collection operations are available on Group (e.g.flatMap, exists, collect, slice, etc). The appropriate incantations have been spoken to allow these methods to return the correct type. Thus, if you map over a Group and your function returns something which extendsNode, the result will be a Group. If your function returns something which does not extend Node (e.g. Int), then the result will be something else (probably a generic IndexedSeq backed by Vector). Group itself extends scala.collection.immutable.IndexedSeq and thus can be used in situations which require this abstraction.

go to: companion
linear super types: Selectable[A], IndexedSeq[A], IndexedSeq[A], IndexedSeqLike[A, Group[A]], Seq[A], Seq[A], SeqLike[A, Group[A]], PartialFunction[Int, A], (Int) ⇒ A, Iterable[A], Iterable[A], IterableLike[A, Group[A]], Equals, Traversable[A], Immutable, Traversable[A], GenericTraversableTemplate[A, IndexedSeq], TraversableLike[A, Group[A]], TraversableOnce[A], FilterMonadic[A, Group[A]], HasNewBuilder[A, Group[A]], AnyRef, Any
known subclasses: Zipper
source: Group.scala
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Group
  2. Selectable
  3. IndexedSeq
  4. IndexedSeq
  5. IndexedSeqLike
  6. Seq
  7. Seq
  8. SeqLike
  9. PartialFunction
  10. Function1
  11. Iterable
  12. Iterable
  13. IterableLike
  14. Equals
  15. Traversable
  16. Immutable
  17. Traversable
  18. GenericTraversableTemplate
  19. TraversableLike
  20. TraversableOnce
  21. FilterMonadic
  22. HasNewBuilder
  23. AnyRef
  24. Any
Visibility
  1. Public
  2. All
Impl.
  1. Concrete
  2. Abstract

Type Members

  1. type Self = Group[A]

    attributes: protected
    definition classes: TraversableLike

Value Members

  1. def != (arg0: AnyRef) : Boolean

    attributes: final
    definition classes: AnyRef
  2. def != (arg0: Any) : Boolean

    o != arg0 is the same as !(o == (arg0)).

    o != arg0 is the same as !(o == (arg0)).

    arg0

    the object to compare against this object for dis-equality.

    returns

    false if the receiver object is equivalent to the argument; true otherwise.

    attributes: final
    definition classes: Any
  3. def ## () : Int

    attributes: final
    definition classes: AnyRef → Any
  4. def $asInstanceOf [T0] () : T0

    attributes: final
    definition classes: AnyRef
  5. def $isInstanceOf [T0] () : Boolean

    attributes: final
    definition classes: AnyRef
  6. def ++ [B >: A <: Node] (that: Group[B]) : Group[B]

    Efficient (and slightly tricky) overload of ++ on parameters which are specifically of type Group[_].

    Efficient (and slightly tricky) overload of ++ on parameters which are specifically of type Group[_].

  7. def ++ [B >: A, That] (that: TraversableOnce[B])(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: TraversableLike
  8. def +: [B >: A <: Node] (node: B) : Group[B]

    Efficient (and slightly tricky) overload of +: on parameters which are specifically of type Node.

    Efficient (and slightly tricky) overload of +: on parameters which are specifically of type Node.

  9. def +: [B >: A, That] (elem: B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  10. def /: [B] (z: B)(op: (B, A) ⇒ B) : B

    definition classes: TraversableOnce
  11. def :+ [B >: A <: Node] (node: B) : Group[B]

    Efficient (and slightly tricky) overload of :+ on parameters which are specifically of type Node.

    Efficient (and slightly tricky) overload of :+ on parameters which are specifically of type Node.

  12. def :+ [B >: A, That] (elem: B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  13. def :\ [B] (z: B)(op: (A, B) ⇒ B) : B

    definition classes: TraversableOnce
  14. def == (arg0: AnyRef) : Boolean

    o == arg0 is the same as if (o eq null) arg0 eq null else o.equals(arg0).

    o == arg0 is the same as if (o eq null) arg0 eq null else o.equals(arg0).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    attributes: final
    definition classes: AnyRef
  15. def == (arg0: Any) : Boolean

    o == arg0 is the same as o.equals(arg0).

    o == arg0 is the same as o.equals(arg0).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    attributes: final
    definition classes: Any
  16. def \ (selector: Selector[Node]) : Zipper[Node]

    [use case] Performs a shallow-select on the XML tree according to the specified selector function.

    [use case]

    Performs a shallow-select on the XML tree according to the specified selector function. Shallow selection is defined according to the following expression:

    attributes: abstract
    definition classes: Selectable
  17. def \ [B, That] (selector: Selector[B])(implicit cbf: CanBuildFromWithZipper[com.codecommit.antixml.Group[_], B, That]) : That

    Performs a shallow-select on the XML tree according to the specified selector function.

    Performs a shallow-select on the XML tree according to the specified selector function. Shallow selection is defined according to the following expression:

    nodes flatMap {
      case Elem(_, _, children) => children collect selector
      case _ => Group()
    }
    

    In English, this means that a shallow selection works by first selectingonly the Elem(s) at the top level and then filtering their children according to the selector. The results of these filtrations are concatenated together, producing a single flattened result.

    Very important: This is not the same as the XPath / operator! (nor does it strive to be) XPath is inconsistent in its selection semantics, varying them slightly depending on whether or not you are selecting from the top level or in the middle of a compound expression. As a result, it is categorically impossible to implement XPath in a combinatorial fashion. Rather than give up on combinators, we chose to give up on XPath. In practice, this "select child Elem(s), then filter their children" behavior tends to be the most useful variant of the XPath selection. The "missed" case here is applying a filter to the top-level set of nodes. This is currently not handled by the API (perhaps in future). For now, if you need this functionality, it's pretty easy to get it using the filter method.

    The results of this function will be a collection of some variety, but the exact type is determined by the selector itself. For example:

    val ns: Group[Node] = ...
    ns \ "name"
    ns \ *
    ns \ text
    

    The three selection expressions here produce very different results. The first will produce a collection of type Zipper[Elem], the second will produce Zipper[Node], while the third will produce scala.collection.Traversable[scala.String]. This reflects the fact that the selector produced (by implicit conversion) from a String will only filter for nodes of type Elem. However, the * selector will filter for all nodes (as the wildcard symbol would suggest) and thus it must return a collection containing the fully-generic Node. Finally, the text selector specifically pulls out the textual contents of nodes, and thus its results will not be nodes at all, but raw String(s).

    Whenever supported by the resulting collection type, the selection operation will preserve a "backtrace", or an "undo log" of sorts. This backtrace is known as a zipper context. This context makes it possible to operate on the collection resulting from performing a selection, then unselect to rebuild the original collection around it (modulo the changes made). This provides a very clean and powerful way of drilling down into an XML tree, making some changes and then realizing those changes within the context of the full tree. In a sense, it solves the major inconvenience associated with immutable tree structures: the need to manually rebuild the entire ancestry of the tree after making a change somewhere within.

    definition classes: Selectable
      see also:
    1. Zipper

  18. def \\ (selector: Selector[Node]) : Zipper[Node]

    [use case] Performs a deep-select on the XML tree according to the specified selector function.

    [use case]

    Performs a deep-select on the XML tree according to the specified selector function. Deep selection is defined according to the following recursion:

    attributes: abstract
    definition classes: Selectable
  19. def \\ [B, That] (selector: Selector[B])(implicit cbf: CanBuildFromWithZipper[com.codecommit.antixml.Group[_], B, That]) : That

    Performs a deep-select on the XML tree according to the specified selector function.

    Performs a deep-select on the XML tree according to the specified selector function. Deep selection is defined according to the following recursion:

    val recursive = nodes flatMap {
      case Elem(_, _, _, children) => children \\ selector
      case _ => Group()
    }
    
    (this \ selector) ++ recursive
    

    In English, this means that deep selection is defined simply as the recursive application of shallow selection (\), all the way from the root down to the leaves. Note that the recursion does not short circuit when a result is found. Thus, if a parent node matches the selector as well as one of its children, then both the parent and the child will be returned, with the parent preceeding the child in the results.

    Just as with shallow selection, the very outermost level of the group is not considered in the selection. Thus, deep selection is not exactly the same as the XPath // operator, since // will consider the outermost level, while Anti-XML's deep selection \\ will not.

    Note: For certain selectors (such as an element name selector defined using a String or Symbol), the result of this method will be a zipper, similar to the results from the shallow-select operator (\). This zipper will not be valid! Zipper context synthesis for deep selection is currently unimplemented. Thus, any attempt to use the unselect method on the resulting zipper will likely throw an exception. At the very least, it won't return a useful result. The implementation of this feature is ongoing.

    definition classes: Selectable
  20. def addString (b: StringBuilder) : StringBuilder

    definition classes: TraversableOnce
  21. def addString (b: StringBuilder, sep: String) : StringBuilder

    definition classes: TraversableOnce
  22. def addString (b: StringBuilder, start: String, sep: String, end: String) : StringBuilder

    definition classes: TraversableOnce
  23. def andThen [C] (k: (A) ⇒ C) : PartialFunction[Int, C]

    definition classes: PartialFunction → Function1
  24. def apply (i: Int) : A

    definition classes: Group → SeqLike → Function1
  25. def asInstanceOf [T0] : T0

    This method is used to cast the receiver object to be of type T0.

    This method is used to cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expressionList(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested typed.

    returns

    the receiver object.

    attributes: final
    definition classes: Any
  26. def canEqual (that: Any) : Boolean

    definition classes: IterableLike → Equals
  27. def canonicalize : Group[A]

    Merges adjacent Text as well as adjacentCDATA nodes to produce a Group which represents an identical XML fragment but with a minimized structure.

    Merges adjacent Text as well as adjacentCDATA nodes to produce a Group which represents an identical XML fragment but with a minimized structure. Slightly more formally, for any XML fragment with n characters of textual data, there are 2n possible ways of representing that fragment as a Group. All of these representations are semantically distinct (i.e. structurally different in memory) but logically equivalent in that they will all generate the same XML fragment if serialized. Of these 2n distinct representations, there will be exactly one representation which is minimal, in that the smallest possible number of Text and CDATA nodes are used to represent the textual data. This form may be considered "canonical". This method converts an arbitrary Group into its canonical form, a logically equivalent Group which represents the same XML fragment in its structurally minimized form.

    This method is perhaps best explained by an example:

    val xml = Group(Text("Daniel "), Text("Spiewak"))
    xml.canonicalize    // => Group(Text("Daniel Spiewak"))
    

    The Group resulting from the canonicalize invocation will produce exactly the same result as would xml were we to invoke the toString method on each of them. However, the canonicalized result has only one text node for the entire character block, while xml (the original Group) has two.

    This is actually a very common gotcha in scala.xml. The issue comes up most frequently in the area of equality. As you can see in the example above,xml clearly will not be equivalent (according to the equals method) to xml.canonicalize. However, it is very natural to assume that these two structures are in fact equal due to their logical equivalence in that they represent the same textual XML fragment. Oftentimes, people will get around this issue in scala.xml by converting all NodeSeq(s) into strings prior to comparison. In Anti-XML, all that is necessary to handle potential semantic divergence in cases of logical equality is to simply invoke the canonicalize method on each of the two equality operands.

  28. def clone () : AnyRef

    This method creates and returns a copy of the receiver object.

    This method creates and returns a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    attributes: protected[lang]
    definition classes: AnyRef
  29. def collect [B, That] (pf: PartialFunction[A, B])(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: TraversableLike
  30. def companion : GenericCompanion[IndexedSeq]

    definition classes: IndexedSeq → IndexedSeq → Seq → Seq → Iterable → Iterable → Traversable → Traversable → GenericTraversableTemplate
  31. def compose [A] (g: (A) ⇒ Int) : (A) ⇒ A

    definition classes: Function1
  32. def contains (elem: Any) : Boolean

    definition classes: SeqLike
  33. def containsSlice [B] (that: Seq[B]) : Boolean

    definition classes: SeqLike
  34. def copyToArray [B >: A] (xs: Array[B], start: Int, len: Int) : Unit

    definition classes: IterableLike → TraversableLike → TraversableOnce
  35. def copyToArray [B >: A] (xs: Array[B]) : Unit

    definition classes: TraversableOnce
  36. def copyToArray [B >: A] (xs: Array[B], start: Int) : Unit

    definition classes: TraversableOnce
  37. def copyToBuffer [B >: A] (dest: Buffer[B]) : Unit

    definition classes: TraversableOnce
  38. def corresponds [B] (that: Seq[B])(p: (A, B) ⇒ Boolean) : Boolean

    definition classes: SeqLike
  39. def count (p: (A) ⇒ Boolean) : Int

    definition classes: TraversableOnce
  40. def diff [B >: A] (that: Seq[B]) : Group[A]

    definition classes: SeqLike
  41. def distinct : Group[A]

    definition classes: SeqLike
  42. def drop (n: Int) : Group[A]

    definition classes: Group → TraversableLike
  43. def dropRight (n: Int) : Group[A]

    definition classes: Group → IterableLike
  44. def dropWhile (p: (A) ⇒ Boolean) : Group[A]

    definition classes: TraversableLike
  45. def elements : Iterator[A]

    definition classes: IterableLike
      deprecated:
    1. use iterator' instead

  46. def endsWith [B] (that: Seq[B]) : Boolean

    definition classes: SeqLike
  47. def eq (arg0: AnyRef) : Boolean

    This method is used to test whether the argument (arg0) is a reference to the receiver object (this).

    This method is used to test whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation] on non-null instances of AnyRef: * It is reflexive: for any non-null instance x of type AnyRef, x.eq(x) returns true. * It is symmetric: for any non-null instances x and y of type AnyRef, x.eq(y) returns true if and only if y.eq(x) returns true. * It is transitive: for any non-null instances x, y, and z of type AnyRef if x.eq(y) returns true and y.eq(z) returns true, then x.eq(z) returns true.

    Additionally, the eq method has three other properties. * It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false. * For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false. * null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    arg0

    the object to compare against this object for reference equality.

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    attributes: final
    definition classes: AnyRef
  48. def equals (that: Any) : Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    The default implementations of this method is an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation]: * It is reflexive: for any instance x of type Any, x.equals(x) should return true. * It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true. * It is transitive: for any instances x, y, and z of type AnyRef if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

    If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is often necessary to override hashCode to ensure that objects that are "equal" (o1.equals(o2) returns true) hash to the same scala.Int (o1.hashCode.equals(o2.hashCode)).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    definition classes: SeqLike → Equals → AnyRef → Any
  49. def equalsWith [B] (that: Seq[B])(f: (A, B) ⇒ Boolean) : Boolean

    definition classes: SeqLike
      deprecated:
    1. use corresponds instead

  50. def exists (p: (A) ⇒ Boolean) : Boolean

    definition classes: IterableLike → TraversableLike → TraversableOnce
  51. def filter (p: (A) ⇒ Boolean) : Group[A]

    definition classes: TraversableLike
  52. def filterNot (p: (A) ⇒ Boolean) : Group[A]

    definition classes: TraversableLike
  53. def finalize () : Unit

    This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.

    This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.

    The details of when and if the finalize method are invoked, as well as the interaction between finalizeand non-local returns and exceptions, are all platform dependent.

    attributes: protected[lang]
    definition classes: AnyRef
  54. def find (p: (A) ⇒ Boolean) : Option[A]

    definition classes: IterableLike → TraversableLike → TraversableOnce
  55. def findIndexOf (p: (A) ⇒ Boolean) : Int

    definition classes: SeqLike
  56. def findLastIndexOf (p: (A) ⇒ Boolean) : Int

    definition classes: SeqLike
      deprecated:
    1. use lastIndexWhere instead

  57. def first : A

    definition classes: IterableLike
      deprecated:
    1. use head' instead

  58. def firstOption : Option[A]

    definition classes: IterableLike
      deprecated:
    1. use headOption' instead

  59. def flatMap [B, That] (f: (A) ⇒ Traversable[B])(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: TraversableLike → FilterMonadic
  60. def flatten [B] (implicit asTraversable: (A) ⇒ Traversable[B]) : IndexedSeq[B]

    definition classes: GenericTraversableTemplate
  61. def foldLeft [B] (z: B)(op: (B, A) ⇒ B) : B

    definition classes: TraversableOnce
  62. def foldRight [B] (z: B)(op: (A, B) ⇒ B) : B

    definition classes: IterableLike → TraversableOnce
  63. def forall (p: (A) ⇒ Boolean) : Boolean

    definition classes: IterableLike → TraversableLike → TraversableOnce
  64. def foreach [U] (f: (A) ⇒ U) : Unit

    definition classes: IterableLike → TraversableLike → TraversableOnce → FilterMonadic
  65. def genericBuilder [B] : Builder[B, IndexedSeq[B]]

    definition classes: GenericTraversableTemplate
  66. def getClass () : java.lang.Class[_]

    Returns a representation that corresponds to the dynamic class of the receiver object.

    Returns a representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    attributes: final
    definition classes: AnyRef
  67. def groupBy [K] (f: (A) ⇒ K) : Map[K, Group[A]]

    definition classes: TraversableLike
  68. def grouped (size: Int) : Iterator[Group[A]]

    definition classes: IterableLike
  69. def hasDefiniteSize : Boolean

    definition classes: TraversableLike → TraversableOnce
  70. def hashCode () : Int

    Returns a hash code value for the object.

    Returns a hash code value for the object.

    The default hashing algorithm is platform dependent.

    Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

    returns

    the hash code value for the object.

    definition classes: SeqLike → AnyRef → Any
  71. def head : A

    definition classes: Group → IterableLike → GenericTraversableTemplate → TraversableLike
  72. def headOption : Option[A]

    definition classes: TraversableLike
  73. def indexOf [B >: A] (elem: B, from: Int) : Int

    definition classes: SeqLike
  74. def indexOf [B >: A] (elem: B) : Int

    definition classes: SeqLike
  75. def indexOfSlice [B >: A] (that: Seq[B], from: Int) : Int

    definition classes: SeqLike
  76. def indexOfSlice [B >: A] (that: Seq[B]) : Int

    definition classes: SeqLike
  77. def indexWhere (p: (A) ⇒ Boolean, from: Int) : Int

    definition classes: SeqLike
  78. def indexWhere (p: (A) ⇒ Boolean) : Int

    definition classes: SeqLike
  79. def indices : Range

    definition classes: SeqLike
  80. def init : Group[A]

    definition classes: Group → TraversableLike
  81. def intersect [B >: A] (that: Seq[B]) : Group[A]

    definition classes: SeqLike
  82. def isDefinedAt (idx: Int) : Boolean

    definition classes: SeqLike
  83. def isEmpty : Boolean

    definition classes: IterableLike → TraversableLike → TraversableOnce
  84. def isInstanceOf [T0] : Boolean

    This method is used to test whether the dynamic type of the receiver object is T0.

    This method is used to test whether the dynamic type of the receiver object is T0.

    Note that the test result of the test is modulo Scala's erasure semantics. Therefore the expression1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested typed.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    attributes: final
    definition classes: Any
  85. def isTraversableAgain : Boolean

    attributes: final
    definition classes: TraversableLike → TraversableOnce
  86. def iterator : Iterator[A]

    definition classes: Group → IndexedSeqLike → IterableLike
  87. def last : A

    definition classes: Group → TraversableLike
  88. def lastIndexOf [B >: A] (elem: B, end: Int) : Int

    definition classes: SeqLike
  89. def lastIndexOf [B >: A] (elem: B) : Int

    definition classes: SeqLike
  90. def lastIndexOfSlice [B >: A] (that: Seq[B], end: Int) : Int

    definition classes: SeqLike
  91. def lastIndexOfSlice [B >: A] (that: Seq[B]) : Int

    definition classes: SeqLike
  92. def lastIndexWhere (p: (A) ⇒ Boolean, end: Int) : Int

    definition classes: SeqLike
  93. def lastIndexWhere (p: (A) ⇒ Boolean) : Int

    definition classes: SeqLike
  94. def lastOption : Option[A]

    definition classes: TraversableLike
  95. def length : Int

    definition classes: Group → SeqLike
  96. def lengthCompare (len: Int) : Int

    definition classes: Group → SeqLike
  97. def lift : (Int) ⇒ Option[A]

    definition classes: PartialFunction
  98. def map [B, That] (f: (A) ⇒ B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: TraversableLike → FilterMonadic
  99. def matches (selector: com.codecommit.antixml.Selector[_]) : Boolean

    definition classes: Group → Selectable
  100. def max [B >: A] (implicit cmp: Ordering[B]) : A

    definition classes: TraversableOnce
  101. def min [B >: A] (implicit cmp: Ordering[B]) : A

    definition classes: TraversableOnce
  102. def mkString : String

    definition classes: TraversableOnce
  103. def mkString (sep: String) : String

    definition classes: TraversableOnce
  104. def mkString (start: String, sep: String, end: String) : String

    definition classes: TraversableOnce
  105. def ne (arg0: AnyRef) : Boolean

    o.ne(arg0) is the same as !(o.eq(arg0)).

    o.ne(arg0) is the same as !(o.eq(arg0)).

    arg0

    the object to compare against this object for reference dis-equality.

    returns

    false if the argument is not a reference to the receiver object; true otherwise.

    attributes: final
    definition classes: AnyRef
  106. def newBuilder : Builder[A, Group[A]]

    attributes: protected[this]
    definition classes: Group → GenericTraversableTemplate → TraversableLike → HasNewBuilder
  107. def nonEmpty : Boolean

    definition classes: TraversableOnce
  108. def notify () : Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    attributes: final
    definition classes: AnyRef
  109. def notifyAll () : Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    attributes: final
    definition classes: AnyRef
  110. def orElse [A1 <: A, B1 >: B] (that: PartialFunction[A1, B1]) : PartialFunction[A1, B1]

    definition classes: PartialFunction
  111. def padTo [B >: A, That] (len: Int, elem: B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  112. def partition (p: (A) ⇒ Boolean) : (Group[A], Group[A])

    definition classes: TraversableLike
  113. def patch [B >: A, That] (from: Int, patch: Seq[B], replaced: Int)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  114. def prefixLength (p: (A) ⇒ Boolean) : Int

    definition classes: SeqLike
  115. def product [B >: A] (implicit num: Numeric[B]) : B

    definition classes: TraversableOnce
  116. def projection : SeqView[A, Group[A]]

    definition classes: SeqLike → IterableLike
      deprecated:
    1. use view' instead

  117. def reduceLeft [B >: A] (op: (B, A) ⇒ B) : B

    definition classes: TraversableOnce
  118. def reduceLeftOption [B >: A] (op: (B, A) ⇒ B) : Option[B]

    definition classes: TraversableOnce
  119. def reduceRight [B >: A] (op: (A, B) ⇒ B) : B

    definition classes: IterableLike → TraversableOnce
  120. def reduceRightOption [B >: A] (op: (A, B) ⇒ B) : Option[B]

    definition classes: TraversableOnce
  121. def repr : Group[A]

    definition classes: TraversableLike
  122. def reverse : Group[A]

    definition classes: SeqLike
  123. def reverseIterator : Iterator[A]

    definition classes: Group → SeqLike
  124. def reverseMap [B, That] (f: (A) ⇒ B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  125. def reversed : List[A]

    attributes: protected[this]
    definition classes: TraversableOnce
  126. def reversedElements : Iterator[A]

    definition classes: SeqLike
      deprecated:
    1. use reverseIterator' instead

  127. def sameElements [B >: A] (that: Iterable[B]) : Boolean

    definition classes: IterableLike
  128. def scanLeft [B, That] (z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: TraversableLike
  129. def scanRight [B, That] (z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: TraversableLike
  130. def segmentLength (p: (A) ⇒ Boolean, from: Int) : Int

    definition classes: SeqLike
  131. def size : Int

    definition classes: SeqLike → TraversableOnce
  132. def slice (from: Int, until: Int) : Group[A]

    definition classes: Group → IterableLike → TraversableLike
  133. def sliding [B >: A] (size: Int, step: Int) : Iterator[Group[A]]

    definition classes: IterableLike
  134. def sliding [B >: A] (size: Int) : Iterator[Group[A]]

    definition classes: IterableLike
  135. def sortBy [B] (f: (A) ⇒ B)(implicit ord: Ordering[B]) : Group[A]

    definition classes: SeqLike
  136. def sortWith (lt: (A, A) ⇒ Boolean) : Group[A]

    definition classes: SeqLike
  137. def sorted [B >: A] (implicit ord: Ordering[B]) : Group[A]

    definition classes: SeqLike
  138. def span (p: (A) ⇒ Boolean) : (Group[A], Group[A])

    definition classes: TraversableLike
  139. def splitAt (n: Int) : (Group[A], Group[A])

    definition classes: Group → TraversableLike
  140. def startsWith [B] (that: Seq[B]) : Boolean

    definition classes: SeqLike
  141. def startsWith [B] (that: Seq[B], offset: Int) : Boolean

    definition classes: SeqLike
  142. def stringPrefix : String

    definition classes: TraversableLike
  143. def sum [B >: A] (implicit num: Numeric[B]) : B

    definition classes: TraversableOnce
  144. def synchronized [T0] (arg0: T0) : T0

    attributes: final
    definition classes: AnyRef
  145. def tail : Group[A]

    definition classes: Group → TraversableLike
  146. def take (n: Int) : Group[A]

    definition classes: Group → IterableLike → TraversableLike
  147. def takeRight (n: Int) : Group[A]

    definition classes: Group → IterableLike
  148. def takeWhile (p: (A) ⇒ Boolean) : Group[A]

    definition classes: IterableLike → TraversableLike
  149. def thisCollection : IndexedSeq[A]

    attributes: protected[this]
    definition classes: IndexedSeqLike → SeqLike → IterableLike → TraversableLike
  150. def toArray [B >: A] (implicit arg0: ClassManifest[B]) : Array[B]

    definition classes: TraversableOnce
  151. def toBuffer [B >: A] : Buffer[B]

    definition classes: TraversableOnce
  152. def toCollection (repr: Group[A]) : IndexedSeq[A]

    attributes: protected[this]
    definition classes: IndexedSeqLike → SeqLike → IterableLike → TraversableLike
  153. def toGroup : Group[A]

    definition classes: Group → Selectable
  154. def toIndexedSeq [B >: A] : IndexedSeq[B]

    definition classes: TraversableOnce
  155. def toIterable : Iterable[A]

    definition classes: IterableLike → TraversableOnce
  156. def toIterator : Iterator[A]

    definition classes: TraversableLike → TraversableOnce
  157. def toList : List[A]

    definition classes: TraversableOnce
  158. def toMap [T, U] (implicit ev: <:<[A, (T, U)]) : Map[T, U]

    definition classes: TraversableOnce
  159. def toSeq : Seq[A]

    definition classes: SeqLike → IterableLike → TraversableOnce
  160. def toSet [B >: A] : Set[B]

    definition classes: TraversableOnce
  161. def toStream : Stream[A]

    definition classes: IterableLike → TraversableLike → TraversableOnce
  162. def toString () : String

    Serializes the nodes in this Group into their most compact XML representation and concatenates the result.

    Serializes the nodes in this Group into their most compact XML representation and concatenates the result. Note that the result of this method may not be well-formed XML, since well-formed XML is required to have only a single parent element (whereas a Group may contain multiple nodes at its top level).

    This is not a pretty-print. The resulting XML will not be formatted in any way. It will be precisely the XML fragment represented by this Group, no more and no less.

    returns

    The XML fragment represented by this Group in String form

    definition classes: Group → SeqLike → Function1 → TraversableLike → AnyRef → Any
  163. def toTraversable : Traversable[A]

    definition classes: TraversableLike → TraversableOnce
  164. def toVector : Vector[A]

    Produces a scala.collection.immutable.Vector which contains all of the nodes in this Group.

    Produces a scala.collection.immutable.Vector which contains all of the nodes in this Group. This function is guaranteed to run in constant time.

  165. def toZipper : Zipper[A]

    definition classes: Group → Selectable
  166. def transpose [B] (implicit asTraversable: (A) ⇒ Traversable[B]) : IndexedSeq[IndexedSeq[B]]

    definition classes: GenericTraversableTemplate
  167. def union [B >: A, That] (that: Seq[B])(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  168. def unzip [A1, A2] (implicit asPair: (A) ⇒ (A1, A2)) : (IndexedSeq[A1], IndexedSeq[A2])

    definition classes: GenericTraversableTemplate
  169. def updated [B >: A <: Node] (index: Int, node: B) : Group[B]

    Efficient (and slightly tricky) overload of updated on parameters which are specifically of type Node.

    Efficient (and slightly tricky) overload of updated on parameters which are specifically of type Node.

  170. def updated [B >: A, That] (index: Int, elem: B)(implicit bf: CanBuildFrom[Group[A], B, That]) : That

    definition classes: SeqLike
  171. def view (from: Int, until: Int) : SeqView[A, Group[A]]

    definition classes: SeqLike → IterableLike → TraversableLike
  172. def view : SeqView[A, Group[A]]

    definition classes: SeqLike → IterableLike → TraversableLike
  173. def wait () : Unit

    attributes: final
    definition classes: AnyRef
  174. def wait (arg0: Long, arg1: Int) : Unit

    attributes: final
    definition classes: AnyRef
  175. def wait (arg0: Long) : Unit

    attributes: final
    definition classes: AnyRef
  176. def withFilter (p: (A) ⇒ Boolean) : FilterMonadic[A, Group[A]]

    definition classes: TraversableLike → FilterMonadic
  177. def zip [A1 >: A, B, That] (that: Iterable[B])(implicit bf: CanBuildFrom[Group[A], (A1, B), That]) : That

    definition classes: IterableLike
  178. def zipAll [B, A1 >: A, That] (that: Iterable[B], thisElem: A1, thatElem: B)(implicit bf: CanBuildFrom[Group[A], (A1, B), That]) : That

    definition classes: IterableLike
  179. def zipWithIndex [A1 >: A, That] (implicit bf: CanBuildFrom[Group[A], (A1, Int), That]) : That

    definition classes: IterableLike

Inherited from Selectable[A]

Inherited from IndexedSeq[A]

Inherited from IndexedSeq[A]

Inherited from IndexedSeqLike[A, Group[A]]

Inherited from Seq[A]

Inherited from Seq[A]

Inherited from SeqLike[A, Group[A]]

Inherited from PartialFunction[Int, A]

Inherited from (Int) ⇒ A

Inherited from Iterable[A]

Inherited from Iterable[A]

Inherited from IterableLike[A, Group[A]]

Inherited from Equals

Inherited from Traversable[A]

Inherited from Immutable

Inherited from Traversable[A]

Inherited from GenericTraversableTemplate[A, IndexedSeq]

Inherited from TraversableLike[A, Group[A]]

Inherited from TraversableOnce[A]

Inherited from FilterMonadic[A, Group[A]]

Inherited from HasNewBuilder[A, Group[A]]

Inherited from AnyRef

Inherited from Any