Overview  Package   Class  Use  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

org.alfresco.repo.module
Class AbstractModuleComponent
java.lang.Object
  org.alfresco.repo.module.AbstractModuleComponent
All Implemented Interfaces:
ModuleComponent, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.Aware
Direct Known Subclasses:
ImporterModuleComponent

@org.alfresco.api.AlfrescoPublicApi
public abstract class AbstractModuleComponent
extends Object
implements ModuleComponent, org.springframework.beans.factory.BeanNameAware
Implementation of a ModuleComponent to provide the basic necessities.
Since:
2.0
Author:
Roy Wetherall, Derek Hulley
See Also:
executeInternal()

Field Summary
protected org.alfresco.repo.security.authentication.AuthenticationComponent
authenticationComponent
protected ModuleService
moduleService
protected ServiceRegistry
serviceRegistry
Constructor Summary
AbstractModuleComponent()
Method Summary
protected void
checkProperties()
          Checks for the presence of all generally-required properties.
boolean
equals(Object obj)
void
execute()
          Perform the actual component's work.
protected abstract void
executeInternal()
          The method that performs the actual work.
org.alfresco.repo.module.ModuleVersionNumber
getAppliesFromVersionNumber()
          
org.alfresco.repo.module.ModuleVersionNumber
getAppliesToVersionNumber()
          
getDependsOn()
          A list of module components that must be executed prior to this instance.
getDescription()
          
getModuleId()
          
getName()
          
org.alfresco.repo.module.ModuleVersionNumber
getSinceVersionNumber()
          
int
hashCode()
void
init()
boolean
isExecuteOnceOnly()
          
void
setAppliesFromVersion(String version)
          Set the minimum module version number to which this component applies.
void
setAppliesToVersion(String version)
          Set the minimum module version number to which this component applies.
void
setAuthenticationComponent(org.alfresco.repo.security.authentication.AuthenticationComponent authenticationComponent)
void
setBeanName(String name)
          Convenience method that will set the name of the component to match the bean name, unless the name has been explicitly set.
void
setDependsOn(List<ModuleComponent> dependsOn)
void
setDescription(String description)
          Set the component's description.
void
setExecuteOnceOnly(boolean executeOnceOnly)
void
setModuleId(String moduleId)
void
setModuleService(ModuleService moduleService)
          Set the module service to register with.
void
setName(String name)
          Set the component name, which must be unique within the context of the module.
void
setServiceRegistry(ServiceRegistry serviceRegistry)
void
setSinceVersion(String version)
          Set the version number for which this component was added.
void
setTenantAdminService(org.alfresco.repo.tenant.TenantAdminService tenantAdminService)
void
shutdown()
          Perform any cleanup required to remove module.
toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Field Detail
authenticationComponent
protected org.alfresco.repo.security.authentication.AuthenticationComponent authenticationComponent

moduleService
protected ModuleService moduleService

serviceRegistry
protected ServiceRegistry serviceRegistry
Constructor Detail
AbstractModuleComponent
public AbstractModuleComponent()
Method Detail
checkProperties
protected void checkProperties()
Checks for the presence of all generally-required properties.

toString
public String toString()
Overrides:
toString in class Object
See Also:
getModuleId(), getName()

equals
public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode
public int hashCode()
Overrides:
hashCode in class Object

setAuthenticationComponent
public void setAuthenticationComponent(org.alfresco.repo.security.authentication.AuthenticationComponent authenticationComponent)

setModuleService
public void setModuleService(ModuleService moduleService)
Set the module service to register with. If not set, the component will not be automatically started.
Parameters:
moduleService - the service to register against. This is optional.

setServiceRegistry
public void setServiceRegistry(ServiceRegistry serviceRegistry)

setTenantAdminService
public void setTenantAdminService(org.alfresco.repo.tenant.TenantAdminService tenantAdminService)

getModuleId
public String getModuleId()
Specified by:
getModuleId in interface ModuleComponent
Returns:
Returns the globally unique module ID.

setModuleId
public void setModuleId(String moduleId)
Parameters:
moduleId - the globally unique module name.

getName
public String getName()
Specified by:
getName in interface ModuleComponent
Returns:
Returns the name of the component in the context of the module ID. It does not have to be globally unique.

setName
public void setName(String name)
Set the component name, which must be unique within the context of the module. If the is not set, then the bean name will be used.
Parameters:
name - the name of the component within the module.
See Also:
setBeanName(String)

setBeanName
public void setBeanName(String name)
Convenience method that will set the name of the component to match the bean name, unless the name has been explicitly set.
Specified by:
setBeanName in interface org.springframework.beans.factory.BeanNameAware

getDescription
public String getDescription()
Specified by:
getDescription in interface ModuleComponent
Returns:
Returns a description of the component.

setDescription
public void setDescription(String description)
Set the component's description. This will automatically be I18N'ized, so it may just be a resource bundle key.
Parameters:
description - a description of the component.

getSinceVersionNumber
public org.alfresco.repo.module.ModuleVersionNumber getSinceVersionNumber()
Specified by:
getSinceVersionNumber in interface ModuleComponent
Returns:
Returns the version number of the module for which this component was introduced.

setSinceVersion
public void setSinceVersion(String version)
Set the version number for which this component was added.

getAppliesFromVersionNumber
public org.alfresco.repo.module.ModuleVersionNumber getAppliesFromVersionNumber()
Specified by:
getAppliesFromVersionNumber in interface ModuleComponent
Returns:
Returns the smallest version number of the module to which this component applies.

setAppliesFromVersion
public void setAppliesFromVersion(String version)
Set the minimum module version number to which this component applies. Default 0.0.

getAppliesToVersionNumber
public org.alfresco.repo.module.ModuleVersionNumber getAppliesToVersionNumber()
Specified by:
getAppliesToVersionNumber in interface ModuleComponent
Returns:
Returns the largest version number of the module to which this component applies.

setAppliesToVersion
public void setAppliesToVersion(String version)
Set the minimum module version number to which this component applies. Default 999.0.

getDependsOn
public List<ModuleComponentgetDependsOn()
A list of module components that must be executed prior to this instance. This is the only way to guarantee ordered execution. The dependencies may include components from other modules, guaranteeing an early failure if a module is missing.
Specified by:
getDependsOn in interface ModuleComponent
Returns:
Returns a list of components that must be executed prior to this component.

setDependsOn
public void setDependsOn(List<ModuleComponent> dependsOn)
Parameters:
dependsOn - a list of modules that must be executed before this one

isExecuteOnceOnly
public boolean isExecuteOnceOnly()
Specified by:
isExecuteOnceOnly in interface ModuleComponent
Returns:
Returns true always. Override as required.

setExecuteOnceOnly
public void setExecuteOnceOnly(boolean executeOnceOnly)
Parameters:
executeOnceOnly - true to force execution of this component with each startup or false if it must only be executed once.

init
public void init()

executeInternal
protected abstract void executeInternal()
                                 throws Throwable
The method that performs the actual work. For the most part, derived classes will only have to override this method to be fully functional.
Throws:
Throwable - any problems, just throw them

execute
public final void execute()
Perform the actual component's work. Execution will be done within the context of a system account with an enclosing transaction. Long-running processes should be spawned from the calling thread, if required.

All failures should just be thrown out as runtime exceptions and will be dealt with by the associated module infrastructure.

Specified by:
execute in interface ModuleComponent
See Also:
the abstract method to be implemented by subclasses

shutdown
public final void shutdown()
Description copied from interface: ModuleComponent
Perform any cleanup required to remove module.
Specified by:
shutdown in interface ModuleComponent

Overview  Package   Class  Use  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2018 Alfresco Software. All rights reserved.

Java API documentation generated with DocFlex/Javadoc 1.6.1 using JavadocPro template set.