FreeCursor

cats.xml.cursor.FreeCursor
See theFreeCursor companion object
sealed trait FreeCursor[I, +O] extends Serializable

FreeCursor represent a cursor with a free O type as result of the focusing and a free I type as target of the focusing.

Attributes

I

Input type of the FreeCursor

O

Output type of the FreeCursor

Companion:
object
Graph
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Value members

Abstract methods

def focus(input: I): Result[O]

Apply the current cursor to the specified input of type I. This allows to select a precise part of the input I tree.

Apply the current cursor to the specified input of type I. This allows to select a precise part of the input I tree.

The method is pure and return a Left when the focusing fails

Attributes

input

target of the cursor

Returns:

Right when succeed Left when fail

Concrete methods

def map[U](f: O => U): FreeCursor[I, U]

Map the result of this cursor when succeed

Map the result of this cursor when succeed

Attributes

U

Type of mapped value

f

Function to map the result of this cursor

Returns:

A new FreeCursor which once applied, apply this cursor and then if succeed apply the function f in order to map the result

def validate[OO >: O](validator: Validator[OO]): FreeCursor[I, OO]

Create a new FreeCursor where the output of this cursor is validated with the specified Validator

Create a new FreeCursor where the output of this cursor is validated with the specified Validator

Attributes

OO

Output type of the new validated FreeCursor

validator

Validator instance to validate the output of this cursor

Returns:

A new validated FreeCursor