trait Extensions extends AnyRef
API for registering and looking up extensions.
Not for user extension.
- Annotations
- @DoNotInherit()
- Source
- Extensions.scala
- Alphabetic
- By Inheritance
- Extensions
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
extension[T <: Extension](ext: ExtensionId[T]): T
Returns the payload that is associated with the provided extension throws an IllegalStateException if it is not registered.
Returns the payload that is associated with the provided extension throws an IllegalStateException if it is not registered. This method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution
-
abstract
def
hasExtension(ext: ExtensionId[_ <: Extension]): Boolean
Returns whether the specified extension is already registered, this method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution
-
abstract
def
registerExtension[T <: Extension](ext: ExtensionId[T]): T
Registers the provided extension and creates its payload, if this extension isn't already registered This method has putIfAbsent-semantics, this method can potentially block, waiting for the initialization of the payload, if is in the process of registration from another Thread of execution