trait SingleItemContextMatcher[Item, +A] extends ContextMatcher[Item, A]
Specialization of ContextMatcher which only checks the first element in the stack for matching operations. Transformation operations on single-element matchers will yield other single-element matchers (rather than the base ContextMatcher type). Combination operations involving other single-element matchers will also yield single-element matchers. SingleElementContextMatchers form the building blocks of more complex matchers.
- A
- The type of the matched context. 
- Alphabetic
- By Inheritance
- SingleItemContextMatcher
- ContextMatcher
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
-   abstract  def applyElem(elem: Item): Option[A]The matching operation for single-element matchers. The matching operation for single-element matchers. - elem
- The first element in the XML tag stack 
- returns
- Some(context)for a successful match,- Noneotherwise
 
Concrete Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-    def &[A1 >: A, B, R](that: SingleItemContextMatcher[Item, B])(implicit reduce: Aux[A1, B, R]): SingleItemContextMatcher[Item, R]Operator version of and
-    def +(other: String): String- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toany2stringadd[SingleItemContextMatcher[Item, A]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
 
-    def ->[B](y: B): (SingleItemContextMatcher[Item, A], B)- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toArrowAssoc[SingleItemContextMatcher[Item, A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-    def \[A1 >: A, B, R](next: ContextMatcher[Item, B])(implicit reduce: Aux[A1, B, R]): ContextMatcher[Item, R]Create a new matcher by forming a chain with this matcher at the front, and the nextmatcher at the back.Create a new matcher by forming a chain with this matcher at the front, and the nextmatcher at the back. In other words, a matcher for a context within another context.- A1
- To satisfy covariance on A 
- B
- The - nextmatcher's context type
- R
- The "reduced" content type, derived from the tuple type - (A, B)based on the- reducerule.
- next
- A matcher which will be used to match the "inner" context 
- reduce
- The - TypeReducerule to help omit- Unitfrom the resulting context type
- returns
- A matcher which delegates to - thismatcher first, then the- nextmatcher for the remaining stack.
 - Definition Classes
- ContextMatcher
 
-    def and[A1 >: A, B, R](that: SingleItemContextMatcher[Item, B])(implicit reduce: Aux[A1, B, R]): SingleItemContextMatcher[Item, R]Creates a new single-element matcher which combines the results of both thismatcher andthatmatcher.Creates a new single-element matcher which combines the results of both thismatcher andthatmatcher. Boththisandthatwill operate on the first element of the stack (as opposed to Chained matchers).- A1
- To satisfy covariance on A 
- B
- The other matcher's result type 
- R
- The combined result type 
- that
- The matcher to combine 
- reduce
- The - TypeReducerule for combining the two match results
- returns
- A new matcher which combines the results of - thisand- that
 
-    def apply(stack: IndexedSeq[Item], offset: Int, avail: Int): Option[A]The main context match method. The main context match method. Inspects the elements in the XML "tag stack", which is essentially a List[StartElement], but for performance reasons is represented as an array with an "offset" index and a number of available elements from that offset. If the elements correspond to a context value ofA, the implementation must then pass the remaining elements of the stack to thenextmatcher, i.e. by callingnext(stack, offset + numConsumed, avail - numConsumed).The difference between this method and applyChainedis the lack of thenextparameter; in this method, the current matcher is assumed to be the end of the chain.- stack
- A reference to the complete XML "tag stack". Note that the responsibility of this method is limited to a *slice* of this value, as defined by - offsetand- avail.
- offset
- The index of the first element to be considered by the matching logic. From this method's point of view, the "first" element in the stack is actually at - stack(offset)
- avail
- The number of elements available in the - stackstarting from the- offset.
- returns
- An option containing the successfully-matched context, or - None.
 - Definition Classes
- ContextMatcher
 
-    def applyChained[B](stack: IndexedSeq[Item], offset: Int, avail: Int, next: ContextMatcher[Item, B]): Option[(A, B)]The underlying context match method. The underlying context match method. Inspects the elements in the XML "tag stack", which is essentially a List[StartElement], but for performance reasons is represented as an array with an "offset" index and a number of available elements from that offset. If the elements correspond to a context value ofA, the implementation must then pass the remaining elements of the stack to thenextmatcher, i.e. by callingnext(stack, offset + numConsumed, avail - numConsumed).The nextmatcher is necessary in order to support non-greedy matchers, e.g.ContextMatcher.variableLength, a.k.a.**. Without a reference to thenextmatcher in the chain, matcher implementations would be forced to pick a fixed number of elements for matching, never knowing that the overall match could have succeeded if they had consumed some additional elements.- B
- The - nextmatcher's context type
- stack
- A reference to the complete XML "tag stack". Note that the responsibility of this method is limited to a *slice* of this value, as defined by - offsetand- avail.
- offset
- The index of the first element to be considered by the matching logic. From this method's point of view, the "first" element in the stack is actually at - stack(offset)
- avail
- The number of elements available in the - stackstarting from the- offset.
- next
- The next matcher in the chain. 
- returns
- If the match succeeded, and the - nextmatch succeded, an Option containing a tuple of both match results. If the match failed, or if the- nextmatch failed,- None.
 - Definition Classes
- SingleItemContextMatcher → ContextMatcher
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
-    def ensuring(cond: (SingleItemContextMatcher[Item, A]) => Boolean, msg: => Any): SingleItemContextMatcher[Item, A]- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toEnsuring[SingleItemContextMatcher[Item, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-    def ensuring(cond: (SingleItemContextMatcher[Item, A]) => Boolean): SingleItemContextMatcher[Item, A]- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toEnsuring[SingleItemContextMatcher[Item, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-    def ensuring(cond: Boolean, msg: => Any): SingleItemContextMatcher[Item, A]- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toEnsuring[SingleItemContextMatcher[Item, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-    def ensuring(cond: Boolean): SingleItemContextMatcher[Item, A]- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toEnsuring[SingleItemContextMatcher[Item, A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-    def filter(p: (A) => Boolean): SingleItemContextMatcher[Item, A]Create a new ContextMatcher which takes the match result of this matcher and passes it through the validation function f.Create a new ContextMatcher which takes the match result of this matcher and passes it through the validation function f. Iffreturnsfalse, the match is unsuccessful.- p
- The filter predicate, i.e. the validation function 
- returns
- A new matcher with validated results 
 - Definition Classes
- SingleItemContextMatcher → ContextMatcher
 
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-    def flatMap[B](f: (A) => Option[B]): SingleItemContextMatcher[Item, B]Create a new ContextMatcher which takes the match result of this matcher and passes it through the combined transformation/validation function f.Create a new ContextMatcher which takes the match result of this matcher and passes it through the combined transformation/validation function f. IffreturnsNone, the match is unsuccessful; iffreturns aSome, the value inside is the result of the match.- B
- The transformed context type 
- f
- The transformation/validation function 
- returns
- A new matcher with transformed and validated results 
 - Definition Classes
- SingleItemContextMatcher → ContextMatcher
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-    def map[B](f: (A) => B): SingleItemContextMatcher[Item, B]Create a new ContextMatcher which takes the match result of this matcher and passes it through the transformation function f.Create a new ContextMatcher which takes the match result of this matcher and passes it through the transformation function f.- B
- The transformed context type 
- f
- The transformation function 
- returns
- A new matcher with transformed results 
 - Definition Classes
- SingleItemContextMatcher → ContextMatcher
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-    def or[A2 >: A](that: SingleItemContextMatcher[Item, A2]): SingleItemContextMatcher[Item, A2]Specialization of the default ormethod, specifically for SingleElementContextMatchers
-    def or[A2 >: A](that: ContextMatcher[Item, A2]): ContextMatcher[Item, A2]Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context. Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context. - A2
- The resulting context type (common supertype between this matcher and - that)
- that
- The matcher which will be used as the fallback 
- returns
- A matcher that falls back to another matcher in case of failure 
 - Definition Classes
- ContextMatcher
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
 
-    def |[A2 >: A](that: SingleItemContextMatcher[Item, A2]): SingleItemContextMatcher[Item, A2]Operator version of or, specialized for SingleElementContextMatchers
-    def |[A2 >: A](that: ContextMatcher[Item, A2]): ContextMatcher[Item, A2]Operator version of orOperator version of or- Definition Classes
- ContextMatcher
 
Deprecated Value Members
-    def formatted(fmtstr: String): String- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toStringFormat[SingleItemContextMatcher[Item, A]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
- (Since version 2.12.16) Use - formatString.format(value)instead of- value.formatted(formatString), or use the- f""string interpolator. In Java 15 and later,- formattedresolves to the new method in String which has reversed parameters.
 
-    def →[B](y: B): (SingleItemContextMatcher[Item, A], B)- Implicit
- This member is added by an implicit conversion from SingleItemContextMatcher[Item, A] toArrowAssoc[SingleItemContextMatcher[Item, A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
- (Since version 2.13.0) Use - ->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.