pl.touk.nussknacker.ui.process.processingtype
ProcessingTypeDataProvider
Companion object ProcessingTypeDataProvider
trait ProcessingTypeDataProvider[+Data, +CombinedData] extends AnyRef
ProcessingType is a context of application. One ProcessingType can't see data from another ProcessingType. Services run inside one ProcessingType scope behave differently from services run in another scope.
This class is meant to provide access to some scope of data inside context of application to the user.
We don't want to pass all ProcessingType's data to every service because it would complicate testing of services
and would broke isolation between areas of application. Due to that, this class is a Functor
(to be precise BiFunctor but more on that below) which allows to transform the scope of Data.
Sometimes it is necessary to have access also to combination of data across all ProcessingTypes. Due to that
this class is a BiFunctor which second value named as CombinedData
This class caches Data and CombinedData wrapped in ProcessingTypeDataState to avoid computations of
transformations during each lookup to Data/CombinedData. It behave similar to Observable where given
transformed ProcessingTypeDataProvider check its parent if ProcessingTypeDataState.stateIdentity changed.
ProcessingType is associated with Category e.g. Fraud Detection, Marketing. Given user has access to certain
categories see LoggedUser.can. Due to that, during each access to Data, user is authorized if he/she
has access to category.
- Alphabetic
- By Inheritance
- ProcessingTypeDataProvider
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def all(implicit user: LoggedUser): Map[ProcessingType, Data]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def combined: CombinedData
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def forProcessingType(processingType: ProcessingType)(implicit user: LoggedUser): Option[Data]
- final def forProcessingTypeE(processingType: ProcessingType)(implicit user: LoggedUser): Either[UnauthorizedError, Option[Data]]
- final def forProcessingTypeEUnsafe(processingType: ProcessingType)(implicit user: LoggedUser): Either[UnauthorizedError, Data]
- final def forProcessingTypeUnsafe(processingType: ProcessingType)(implicit user: LoggedUser): Data
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def mapCombined[CC](fun: (CombinedData) => CC): ProcessingTypeDataProvider[Data, CC]
- final def mapValues[TT](fun: (Data) => TT): ProcessingTypeDataProvider[TT, CombinedData]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)