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
- All
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( ... ) @native() @HotSpotIntrinsicCandidate()
- final def combined: CombinedData
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.