eu.cdevreeze.yaidom

queryapi

package queryapi

This package contains the query API traits. It contains both the purely abstract API traits as well as the partial implementation traits.

Generic code abstracting over yaidom element implementations should either use trait ClarkElemApi or sub-trait ScopedElemApi, depending on the abstraction level.

Most API traits are orthogonal, but some API traits are useful combinations of other ones. Examples include the above-mentioned ClarkElemApi and ScopedElemApi traits.

This package depends only on the core package in yaidom, but many other packages do depend on this one.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. queryapi
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait ClarkElemApi[E <: ClarkElemApi[E]] extends ElemApi[E] with IsNavigableApi[E] with HasENameApi with HasTextApi

    Shorthand for ElemApi[E] with IsNavigableApi[E] with HasENameApi with HasTextApi.

  2. trait ClarkElemLike[E <: ClarkElemLike[E]] extends ClarkElemApi[E] with ElemLike[E] with IsNavigable[E] with HasEName with HasText

    Partial implementation of ClarkElemApi.

  3. trait DocumentApi[E <: ElemApi[E]] extends AnyRef

    Minimal API for Documents, having a type parameter for the element type.

  4. trait ElemApi[E <: ElemApi[E]] extends AnyRef

    This is the foundation of the yaidom uniform query API.

  5. trait ElemLike[E <: ElemLike[E]] extends ElemApi[E]

    API and implementation trait for elements as containers of elements, as element nodes in a node tree.

  6. final class ElemWithPath[E <: IsNavigableApi[E]] extends ElemLike[ElemWithPath[E]]

    Pair of an element and a Path.

  7. trait HasEName extends HasENameApi

    Trait partly implementing the contract for elements that have a EName, as well as attributes with EName keys.

  8. trait HasENameApi extends AnyRef

    Trait defining the contract for elements that have a EName, as well as attributes with EName keys.

  9. trait HasParent[E <: HasParent[E]] extends HasParentApi[E]

    Implementation trait for elements that can be asked for the ancestor elements, if any.

  10. trait HasParentApi[E <: HasParentApi[E]] extends AnyRef

    API trait for elements that can be asked for the ancestor elements, if any.

  11. trait HasQNameApi extends AnyRef

    Trait defining the contract for elements that have a QName, as well as attributes with QName keys.

  12. trait HasScopeApi extends AnyRef

    Trait defining the contract for elements that have a stored Scope.

  13. trait HasText extends HasTextApi

    Trait partly implementing the contract for elements as text containers.

  14. trait HasTextApi extends AnyRef

    Trait defining the contract for elements as text containers.

  15. trait IsNavigable[E <: IsNavigable[E]] extends IsNavigableApi[E]

    API and implementation trait for elements that can be navigated using paths.

  16. trait IsNavigableApi[E <: IsNavigableApi[E]] extends AnyRef

    This trait offers Path-based navigation support.

  17. trait ScopedElemApi[E <: ScopedElemApi[E]] extends ClarkElemApi[E] with HasQNameApi with HasScopeApi

    Shorthand for ClarkElemApi[E] with HasQNameApi with HasScopeApi with some additional methods that use the scope for resolving QName-valued text and attribute values.

  18. trait ScopedElemLike[E <: ScopedElemLike[E]] extends ScopedElemApi[E] with ClarkElemLike[E]

    Partial implementation of ScopedElemApi.

  19. trait SubtypeAwareElemApi[A <: SubtypeAwareElemApi[A]] extends ElemApi[A]

    Extension to ElemApi that makes querying for sub-types of the element type easy.

  20. trait SubtypeAwareElemLike[A <: SubtypeAwareElemLike[A]] extends ElemLike[A] with SubtypeAwareElemApi[A]

    Default implementation of SubtypeAwareElemApi.

  21. trait TransformableElemApi[N, E <: N with TransformableElemApi[N, E]] extends AnyRef

    This is the element transformation part of the yaidom query and update API.

  22. trait TransformableElemLike[N, E <: N with TransformableElemLike[N, E]] extends TransformableElemApi[N, E]

    API and implementation trait for transformable elements.

  23. trait UpdatableElemApi[N, E <: N with UpdatableElemApi[N, E]] extends IsNavigableApi[E]

    This is the functional update part of the yaidom uniform query API.

  24. trait UpdatableElemLike[N, E <: N with UpdatableElemLike[N, E]] extends IsNavigable[E] with UpdatableElemApi[N, E]

    API and implementation trait for functionally updatable elements.

Value Members

  1. object ElemApi

  2. object ElemWithPath

  3. object HasENameApi

    This companion object offers some convenience factory methods for "element predicates", that can be used in yaidom queries.

  4. object Nodes

    Abstract node (marker) trait hierarchy.

  5. object XmlBaseSupport

    XML Base support, for elements implementing the ClarkElemApi query API.

Inherited from AnyRef

Inherited from Any

Ungrouped