com.codecommit.antixml

ZipperMergeContext

case class ZipperMergeContext (original: Node, directUpdate: IndexedSeq[(Node, Int)], lastDirectUpdate: Int, indirectUpdate: (Node, Int)) extends Product with Serializable

Describes the parameters of a merge operation.

The purpose of a merge

Operations such as flatMap make it possible for a zipper's node to be replaced by multiple nodes or to be removed altogether. For this reason, direct updates are represented as a sequence of nodes. In contrast, the indirect update always consists of a single node. Any multiplicative operations that occurred further down the tree will will already have been accounted for in that node's children.

original

the original Node that was selected when the zipper was produced.

directUpdate

the direct replacements of the node and their corresponding update times. These are the nodes that explicitly replaced original via updates to its position in the zipper.

lastDirectUpdate

the largest update time of any direct update to the node. If directUpdates is empty, this will be the time that the node was removed.

indirectUpdate

the "indirect" replacement and associated update time. The indirect replacement is just the original node with its children replaced by a recursive application of the unselection algorithm, as defined in the Zipper unselection algorithm.

Source
ZipperMergeContext.scala
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. ZipperMergeContext
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ZipperMergeContext (original: Node, directUpdate: IndexedSeq[(Node, Int)], lastDirectUpdate: Int, indirectUpdate: (Node, Int))

    original

    the original Node that was selected when the zipper was produced.

    directUpdate

    the direct replacements of the node and their corresponding update times. These are the nodes that explicitly replaced original via updates to its position in the zipper.

    lastDirectUpdate

    the largest update time of any direct update to the node. If directUpdates is empty, this will be the time that the node was removed.

    indirectUpdate

    the "indirect" replacement and associated update time. The indirect replacement is just the original node with its children replaced by a recursive application of the unselection algorithm, as defined in the Zipper unselection algorithm.

Value Members

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

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def canEqual (arg0: Any): Boolean

    Definition Classes
    ZipperMergeContext → Equals
  8. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. val directUpdate : IndexedSeq[(Node, Int)]

    the direct replacements of the node and their corresponding update times.

    the direct replacements of the node and their corresponding update times. These are the nodes that explicitly replaced original via updates to its position in the zipper.

  10. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  11. def equals (arg0: Any): Boolean

    Definition Classes
    ZipperMergeContext → Equals → AnyRef → Any
  12. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  14. def hashCode (): Int

    Definition Classes
    ZipperMergeContext → AnyRef → Any
  15. val indirectUpdate : (Node, Int)

    the "indirect" replacement and associated update time.

    the "indirect" replacement and associated update time. The indirect replacement is just the original node with its children replaced by a recursive application of the unselection algorithm, as defined in the Zipper unselection algorithm.

  16. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  17. val lastDirectUpdate : Int

    the largest update time of any direct update to the node.

    the largest update time of any direct update to the node. If directUpdates is empty, this will be the time that the node was removed.

  18. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  19. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  20. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  21. val original : Node

    the original Node that was selected when the zipper was produced.

  22. def productArity : Int

    Definition Classes
    ZipperMergeContext → Product
  23. def productElement (arg0: Int): Any

    Definition Classes
    ZipperMergeContext → Product
  24. def productIterator : Iterator[Any]

    Definition Classes
    Product
  25. def productPrefix : String

    Definition Classes
    ZipperMergeContext → Product
  26. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  27. def toString (): String

    Definition Classes
    ZipperMergeContext → AnyRef → Any
  28. def wait (): Unit

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  31. def productElements : Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    use productIterator instead

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any