TernaryUpdateRegistry
trait TernaryUpdateRegistry[A, B, C, Op] extends InPlaceImpl3[Op, A, B, C] with MMRegistry3[InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]
This is a special kind of BinaryUpdateOp that supports registration of specialized implementations for a given operation.
trait Serializable
class Object
trait Matchable
class Any
Value members
Concrete methods
protected def multipleOptions(a: A, b: B, c: C, m: Map[(Class[_], Class[_], Class[_]), InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]): Unit
Inherited methods
def register(a: Class[_], b: Class[_], c: Class[_], op: InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]): Unit
- Inherited from:
- MMRegistry3
def resolve(a: Class[_], b: Class[_], c: Class[_]): Map[(Class[_], Class[_], Class[_]), InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]
- Inherited from:
- MMRegistry3
protected def selectBestOption(options: Map[(Class[_], Class[_], Class[_]), InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]): Map[(Class[_], Class[_], Class[_]), InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]
This selects based on the partial order induced by the inheritance hierarchy. If there is ambiguity, all are returned.
This selects based on the partial order induced by the inheritance hierarchy. If there is ambiguity, all are returned.
- Inherited from:
- MMRegistry3
Inherited fields
protected val cache: ConcurrentHashMap[(Class[_], Class[_], Class[_]), Option[InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]]
- Inherited from:
- MMRegistry3
protected val ops: HashMap[(Class[_], Class[_], Class[_]), InPlaceImpl3[Op, _ <: A, _ <: B, _ <: C]]
- Inherited from:
- MMRegistry3