public abstract class AbstractExtendable<T> extends java.lang.Object implements Extendable<T>
Constructor and Description |
---|
AbstractExtendable() |
Modifier and Type | Method and Description |
---|---|
<E extends Extension<T>> |
addExtension(java.lang.Class<? super E> type,
E extension)
Add en extension to this extendable object.
|
<E extends Extension<T>> |
getExtension(java.lang.Class<? super E> type)
Get an extension based on its class type.
|
<E extends Extension<T>> |
getExtensionByName(java.lang.String name)
Get an extension based on its name.
|
java.util.Collection<Extension<T>> |
getExtensions()
Get all extensions associated with this extendable object..
|
<E extends Extension<T>> |
removeExtension(java.lang.Class<E> type)
Remove an extension based on its class type.
|
public <E extends Extension<T>> void addExtension(java.lang.Class<? super E> type, E extension)
Extendable
addExtension
in interface Extendable<T>
E
- the extension typetype
- the extension class typeextension
- the extensionpublic <E extends Extension<T>> E getExtension(java.lang.Class<? super E> type)
Extendable
getExtension
in interface Extendable<T>
E
- the extension typetype
- the extension class typepublic <E extends Extension<T>> E getExtensionByName(java.lang.String name)
Extendable
getExtensionByName
in interface Extendable<T>
name
- the extension namepublic <E extends Extension<T>> boolean removeExtension(java.lang.Class<E> type)
Extendable
removeExtension
in interface Extendable<T>
E
- the extension typetype
- the extension class typepublic java.util.Collection<Extension<T>> getExtensions()
Extendable
getExtensions
in interface Extendable<T>