ExtensionContainer

Allows adding 'namespaced' DSL extensions to a target object.

Functions

Link copied to clipboard
abstract fun add(name: String, extension: Any)
abstract fun <T> add(publicType: Class<T>, name: String, extension: T)
abstract fun <T> add(publicType: TypeOf<T>, name: String, extension: T)
Adds a new extension to this container.
Link copied to clipboard
abstract fun <T> configure(type: Class<T>, action: Action<in T>)
abstract fun <T> configure(type: TypeOf<T>, action: Action<in T>)
Looks for the extension of the specified type and configures it with the supplied action.
abstract fun <T> configure(name: String, action: Action<in T>)
Looks for the extension with the specified name and configures it with the supplied action.
Link copied to clipboard
abstract fun <T> create(name: String, type: Class<T>, constructionArguments: Array<Any>): T
abstract fun <T> create(publicType: Class<T>, name: String, instanceType: Class<out T>, constructionArguments: Array<Any>): T
abstract fun <T> create(publicType: TypeOf<T>, name: String, instanceType: Class<out T>, constructionArguments: Array<Any>): T
Creates and adds a new extension to this container.
Link copied to clipboard
@Nullable
abstract fun findByName(name: String): @Nullable Any
Looks for the extension of a given name.
Link copied to clipboard
@Nullable
abstract fun <T> findByType(type: Class<T>): @Nullable T
@Nullable
abstract fun <T> findByType(type: TypeOf<T>): @Nullable T
Looks for the extension of a given type (useful to avoid casting).
Link copied to clipboard
abstract fun getByName(name: String): Any
Looks for the extension of a given name.
Link copied to clipboard
abstract fun <T> getByType(type: Class<T>): T
abstract fun <T> getByType(type: TypeOf<T>): T
Looks for the extension of a given type (useful to avoid casting).
Link copied to clipboard
Provides access to the schema of all known extensions.
Link copied to clipboard
The extra properties extension in this extension container.