public abstract class AbstractExtendable<T> extends Object implements Extendable<T>
Constructor and Description |
---|
AbstractExtendable() |
Modifier and Type | Method and Description |
---|---|
<E extends Extension<T>> |
addExtension(Class<? super E> type,
E extension)
Add en extension to this extendable object.
|
<E extends Extension<T>> |
getExtension(Class<? super E> type)
Get an extension based on its class type.
|
<E extends Extension<T>> |
getExtensionByName(String name)
Get an extension based on its name.
|
Collection<Extension<T>> |
getExtensions()
Get all extensions associated with this extendable object..
|
String |
getImplementationName()
Returns a name that is used to find matching
ExtensionAdderProvider s
when selecting implementations of extensions in Extendable.newExtension(java.lang.Class<B>) . |
<E extends Extension<T>> |
removeExtension(Class<E> type)
Remove an extension based on its class type.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
newExtension
public <E extends Extension<T>> void addExtension(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(Class<? super E> type)
Extendable
getExtension
in interface Extendable<T>
E
- the extension typetype
- the extension class typepublic <E extends Extension<T>> E getExtensionByName(String name)
Extendable
getExtensionByName
in interface Extendable<T>
name
- the extension namepublic <E extends Extension<T>> boolean removeExtension(Class<E> type)
Extendable
removeExtension
in interface Extendable<T>
E
- the extension typetype
- the extension class typepublic Collection<Extension<T>> getExtensions()
Extendable
getExtensions
in interface Extendable<T>
public String getImplementationName()
Extendable
ExtensionAdderProvider
s
when selecting implementations of extensions in Extendable.newExtension(java.lang.Class<B>)
. This
is meant to be overriden by extendables when multiple implementations exist.getImplementationName
in interface Extendable<T>
Copyright © 2020. All rights reserved.