case class
Optic[-GetWhole, -SetWholeBefore, -SetPiece, +GetError, +SetError, +GetPiece, +SetWholeAfter](getOptic: (GetWhole) ⇒ (OpticModule.this)#OpticResult[(GetError, SetWholeAfter), GetPiece], setOptic: (SetPiece) ⇒ (SetWholeBefore) ⇒ (OpticModule.this)#OpticResult[(SetError, SetWholeAfter), SetWholeAfter]) extends Product with Serializable
Instance Constructors
-
new
Optic(getOptic: (GetWhole) ⇒ (OpticModule.this)#OpticResult[(GetError, SetWholeAfter), GetPiece], setOptic: (SetPiece) ⇒ (SetWholeBefore) ⇒ (OpticModule.this)#OpticResult[(SetError, SetWholeAfter), SetWholeAfter])
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
<*>[GetWhole1 <: GetWhole, SetWholeBefore1 >: SetWholeAfter <: SetWholeBefore, SetPiece2, GetError1 >: GetError, SetError1 >: SetError, GetPiece2, SetWholeAfter1 >: SetWholeAfter](that: (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, SetPiece2, GetError1, SetError1, GetPiece2, SetWholeAfter1]): (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, (SetPiece, SetPiece2), GetError1, SetError1, (GetPiece, GetPiece2), SetWholeAfter1]
-
final
def
<>[GetWhole1 <: GetWhole, SetWholeBefore1 <: SetWholeBefore, SetPiece1 <: SetPiece, GetError2, SetError2, GetPiece1 >: GetPiece, SetWholeAfter1 >: SetWholeAfter](that: ⇒ (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, SetPiece1, GetError2, SetError2, GetPiece1, SetWholeAfter1]): (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, SetPiece1, GetError2, SetError2, GetPiece1, SetWholeAfter1]
-
final
def
==(arg0: Any): Boolean
-
final
def
apply(whole: GetWhole with SetWholeBefore): (OpticModule.this)#OpticPartiallyApplied[SetPiece, GetError, SetError, GetPiece, SetWholeAfter]
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
def
finalize(): Unit
-
final
def
get(whole: GetWhole): (OpticModule.this)#OpticResult[GetError, GetPiece]
-
final
def
getClass(): Class[_]
-
val
getOptic: (GetWhole) ⇒ (OpticModule.this)#OpticResult[(GetError, SetWholeAfter), GetPiece]
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
orElse[GetWhole1 <: GetWhole, SetWholeBefore1 <: SetWholeBefore, SetPiece1 <: SetPiece, GetError2, SetError2, GetPiece1 >: GetPiece, SetWholeAfter1 >: SetWholeAfter](that: ⇒ (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, SetPiece1, GetError2, SetError2, GetPiece1, SetWholeAfter1]): (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, SetPiece1, GetError2, SetError2, GetPiece1, SetWholeAfter1]
-
val
setOptic: (SetPiece) ⇒ (SetWholeBefore) ⇒ (OpticModule.this)#OpticResult[(SetError, SetWholeAfter), SetWholeAfter]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
final
def
zip[GetWhole1 <: GetWhole, SetWholeBefore1 >: SetWholeAfter <: SetWholeBefore, SetPiece2, GetError1 >: GetError, SetError1 >: SetError, GetPiece2, SetWholeAfter1 >: SetWholeAfter](that: (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, SetPiece2, GetError1, SetError1, GetPiece2, SetWholeAfter1]): (OpticModule.this)#Optic[GetWhole1, SetWholeBefore1, (SetPiece, SetPiece2), GetError1, SetError1, (GetPiece, GetPiece2), SetWholeAfter1]
An
Optic
is able to get and set a piece of a whole, possibly failing. In the most general possible case the get and set types are distinct and getting may fail with a different error than setting.