mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged HEAD (5.1) to 5.1.N (5.1.1)
119697 bhorje: ACE-4744 javadoc and cleanup git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@120076 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -19,6 +19,15 @@
|
||||
|
||||
package org.alfresco.traitextender;
|
||||
|
||||
/**
|
||||
* A singleton extension API implementor. The singleton extension continues to
|
||||
* exist after the extensible has been collected. The instance of this extension
|
||||
* is shared among {@link Extensible}s defining extension-points that this
|
||||
* extension is bound to.The {@link Trait} it requires is set at call-time on
|
||||
* the local thread.
|
||||
*
|
||||
* @author Bogdan Horje
|
||||
*/
|
||||
public abstract class SingletonExtension<E, T extends Trait>
|
||||
{
|
||||
private ThreadLocal<T> localTrait = new ThreadLocal<>();
|
||||
@@ -35,7 +44,7 @@ public abstract class SingletonExtension<E, T extends Trait>
|
||||
{
|
||||
return trait != null && acceptsTraitClass(trait.getClass());
|
||||
}
|
||||
|
||||
|
||||
public boolean acceptsTraitClass(Class<?> aTraitClass)
|
||||
{
|
||||
return traitClass.isAssignableFrom(aTraitClass);
|
||||
@@ -46,6 +55,10 @@ public abstract class SingletonExtension<E, T extends Trait>
|
||||
localTrait.set(trait);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the {@link Trait} instance of the current execution extension
|
||||
* call.
|
||||
*/
|
||||
protected T getTrait()
|
||||
{
|
||||
return localTrait.get();
|
||||
|
Reference in New Issue
Block a user