org.xwiki.component.internal
Class AbstractGenericComponentManager

java.lang.Object
  extended by org.xwiki.component.internal.DelegateComponentManager
      extended by org.xwiki.component.internal.AbstractGenericComponentManager
All Implemented Interfaces:
org.xwiki.component.manager.ComponentManager
Direct Known Subclasses:
UserComponentManager, WikiComponentManager

public abstract class AbstractGenericComponentManager
extends DelegateComponentManager

Generic implementation that creates Component Manager instances based on the generic notion of a key. This is used for example by the Wiki Component Manager or the User Component Manager which respectively have a key returning the current wiki and the current user in the Execution Context.

Since:
2.1RC1
Version:
$Id$

Constructor Summary
AbstractGenericComponentManager()
           
 
Method Summary
 org.xwiki.component.manager.ComponentManager getComponentManager()
          
protected  org.xwiki.component.manager.ComponentManager getInternalParent()
           
protected abstract  java.lang.String getKey()
           
<T> void
registerComponent(org.xwiki.component.descriptor.ComponentDescriptor<T> componentDescriptor)
          
<T> void
registerComponent(org.xwiki.component.descriptor.ComponentDescriptor<T> componentDescriptor, T componentInstance)
          
protected  void setInternalParent(org.xwiki.component.manager.ComponentManager parentComponentManager)
           
 void unregisterComponent(java.lang.Class<?> role, java.lang.String roleHint)
          
 
Methods inherited from class org.xwiki.component.internal.DelegateComponentManager
getComponentDescriptor, getComponentDescriptorList, getComponentEventManager, getParent, hasComponent, hasComponent, lookup, lookup, lookupList, lookupMap, release, setComponentEventManager, setComponentManager, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractGenericComponentManager

public AbstractGenericComponentManager()
Method Detail

getKey

protected abstract java.lang.String getKey()
Returns:
the key (any String) representing the current Component Manager. For example in the case of a User Component Manager the key can be the current user in the execution context so that we can register/lookup components only for that user

getComponentManager

public org.xwiki.component.manager.ComponentManager getComponentManager()

Overrides:
getComponentManager in class DelegateComponentManager
Returns:
the Component Manager to delegate to
See Also:
DelegateComponentManager.getComponentManager()

registerComponent

public <T> void registerComponent(org.xwiki.component.descriptor.ComponentDescriptor<T> componentDescriptor,
                                  T componentInstance)
                       throws org.xwiki.component.manager.ComponentRepositoryException

Specified by:
registerComponent in interface org.xwiki.component.manager.ComponentManager
Overrides:
registerComponent in class DelegateComponentManager
Throws:
org.xwiki.component.manager.ComponentRepositoryException
See Also:
DelegateComponentManager.registerComponent(ComponentDescriptor, Object)

registerComponent

public <T> void registerComponent(org.xwiki.component.descriptor.ComponentDescriptor<T> componentDescriptor)
                       throws org.xwiki.component.manager.ComponentRepositoryException

Specified by:
registerComponent in interface org.xwiki.component.manager.ComponentManager
Overrides:
registerComponent in class DelegateComponentManager
Throws:
org.xwiki.component.manager.ComponentRepositoryException
See Also:
DelegateComponentManager.registerComponent(ComponentDescriptor, Object)

unregisterComponent

public void unregisterComponent(java.lang.Class<?> role,
                                java.lang.String roleHint)

Specified by:
unregisterComponent in interface org.xwiki.component.manager.ComponentManager
Overrides:
unregisterComponent in class DelegateComponentManager
See Also:
DelegateComponentManager.unregisterComponent(Class, String)

getInternalParent

protected org.xwiki.component.manager.ComponentManager getInternalParent()
Returns:
the Parent Component Manager to default to when there's no Component Manager matching the key returned by getKey().

setInternalParent

protected void setInternalParent(org.xwiki.component.manager.ComponentManager parentComponentManager)
Parameters:
parentComponentManager - see getInternalParent()


Copyright © 2004-2011 XWiki. All Rights Reserved.