scales.xml.parser

strategies

package strategies

Content Hierarchy Learn more about scaladoc diagrams
Visibility
  1. Public
  2. All

Type Members

  1. class BaseToken extends OptimisationToken

  2. trait BaseTokenF extends AnyRef

  3. trait ElemOptimisationT[Token <: OptimisationToken] extends MemoryOptimisationStrategy[Token]

    Simple hashmap on Elem -> Elem, makes no optimisations across qnames (use QNameOptimisationT for that)

  4. trait ElemQNameOptimisationT[Token <: ElemToken] extends QNameOptimisationT[Token]

  5. class ElemToken extends QNameToken

  6. trait ElemTokenF extends AnyRef

  7. class ElemValue extends Tree[XmlItem, Elem, xml.XCC]

    An elem with attributes or namespaces and only one text value.

  8. trait FullMemoryOptimisationT[Token <: ElemToken] extends ElemQNameOptimisationT[Token]

  9. trait MemoryOptimisationStrategy[Token <: OptimisationToken] extends AnyRef

    Memory usage in DOMs is often dominated by repeated elements.

  10. abstract class NameValue extends Tree[XmlItem, Elem, xml.XCC]

    An elem with no attributes, namespaces and only one text value.

  11. trait OptimisationToken extends AnyRef

    Simple marker for per parse optimisation oppurtunties

  12. trait OptimisingStrategiesImplicits extends AnyRef

  13. trait PathOptimisationStrategy[Token <: OptimisationToken] extends MemoryOptimisationStrategy[Token]

    Certain paths may be repeated (based on QNames of parents etc) and known to be by the developer, its also possible that the developer simply is not interested in this path.

  14. trait QNameOptimisationT[Token <: QNameToken] extends MemoryOptimisationStrategy[Token]

    Threadsafe global cache, assumption is most applications would benefit from this

  15. class QNameToken extends OptimisationToken

  16. trait QNameTokenF extends AnyRef

  17. trait TextNodeJoiner[Token <: OptimisationToken] extends TreeOptimisation[Token]

    As this adds extra processing time, but better fits XPath rules (i.

  18. trait TreeOptimisation[TOKEN <: OptimisationToken] extends PathOptimisationStrategy[TOKEN]

    Allows replacing a tree for memory optimisations

Value Members

  1. object ElemMemoryOptimisation extends PathOptimisationStrategy[ElemToken] with ElemOptimisationT[ElemToken] with ElemTokenF

  2. object HighMemoryOptimisation extends PathOptimisationStrategy[ElemToken] with ElemOptimisationT[ElemToken] with QNameOptimisationT[ElemToken] with ElemTokenF

    Optimises on QNames and Elems, reducing duplicates at the cost of CHM lookups.

  3. object LazyOptimisedTree

    Collection of optimisations that reduce memory significantly at the cost of parsing performance, and later non-lazy creation of correct objects for accessing the tree.

  4. object NoOptimisation extends PathOptimisationStrategy[BaseToken] with BaseTokenF

    Performs no optimisation at all

  5. object QNameElemTreeOptimisation extends PathOptimisationStrategy[ElemToken] with ElemQNameOptimisationT[ElemToken] with TreeOptimisation[ElemToken] with ElemTokenF

    Optimised QNames, Elems and Tree, heavily reduced memory consumption with LazyOptimisedTree.

  6. object QNameMemoryOptimisation extends PathOptimisationStrategy[QNameToken] with QNameOptimisationT[QNameToken] with QNameTokenF

    The default as it will equal or better Scala Xml memory consumption at a performance gain.

  7. object QNameTreeOptimisation extends TreeOptimisation[QNameToken] with QNameOptimisationT[QNameToken] with QNameTokenF

    Optimises QNames and Trees according to LazyOptimisedTree

Ungrouped