|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.alfresco.repo.management.subsystems.AbstractPropertyBackedBean
public abstract class AbstractPropertyBackedBean
A base class for PropertyBackedBeans. Gets its category from its Spring bean name and automatically
propagates and resolves property defaults on initialization. Automatically destroys itself on server shutdown.
Communicates its creation and destruction and start and stop events to a PropertyBackedBeanRegistry. Listens
for start and stop events from remote nodes in order to keep the bean in sync with edits made on a remote node. On
receiving a start event from a remote node, the bean is completely reinitialized, allowing it to be resynchronized
with any persisted changes.
| Nested Class Summary | |
|---|---|
class |
AbstractPropertyBackedBean.DefaultResolver
Uses a Spring PropertyPlaceholderHelper to resolve placeholders in the property defaults. |
| Field Summary | |
|---|---|
protected static java.lang.String |
DEFAULT_INSTANCE_NAME
The default final part of an ID. |
| Constructor Summary | |
|---|---|
AbstractPropertyBackedBean()
|
|
| Method Summary | |
|---|---|
void |
afterPropertiesSet()
|
protected void |
applyDefaultOverrides(PropertyBackedBeanState state)
Applies default overrides to the initial state. |
protected abstract PropertyBackedBeanState |
createInitialState()
Creates the initial state. |
void |
destroy()
|
protected void |
destroy(boolean isPermanent)
Releases any resources held by this component. |
protected java.lang.String |
getCategory()
Gets the category. |
java.lang.String |
getDescription(java.lang.String name)
Gets a Human readable description of the property, e.g. |
java.util.List |
getId()
Gets a unique identifier for the bean. |
protected java.util.List |
getInstancePath()
Gets the hierarchical instance path within the category (second part of the ID). |
protected org.springframework.context.ApplicationContext |
getParent()
Gets the parent application context. |
java.lang.String |
getProperty(java.lang.String name)
Gets a property value. |
protected java.util.Properties |
getPropertyDefaults()
Gets the property defaults provided by the installer or System properties. |
java.util.Set |
getPropertyNames()
Gets the names of all properties. |
protected PropertyBackedBeanRegistry |
getRegistry()
Gets the registry of all property backed beans. |
protected PropertyBackedBeanState |
getState(boolean start)
Gets the state. |
void |
init()
Initializes or resets the bean and its state. |
boolean |
isUpdateable(java.lang.String name)
Checks if a property is updateable. |
void |
onApplicationEvent(org.springframework.context.ApplicationEvent event)
|
protected java.lang.String |
resolveDefault(java.lang.String name)
Resolves the default value of a property, if there is one, expanding placholders as necessary. |
void |
revert()
Reverts this component to its original default start state, removing any previously persisted state changes. |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
|
void |
setAutoStart(boolean autoStart)
Indicates whether the bean should be started on startup of the parent application context. |
void |
setBeanName(java.lang.String name)
|
void |
setCategory(java.lang.String category)
Sets the category (first part of the ID). |
void |
setInstancePath(java.util.List instancePath)
Sets the hierarchical instance path within the category (second part of the ID).. |
void |
setProperty(java.lang.String name,
java.lang.String value)
Sets the value of a property. |
void |
setPropertyDefaults(java.util.Properties propertyDefaults)
Sets the property defaults provided by the installer or System properties. |
void |
setRegistry(PropertyBackedBeanRegistry registry)
Sets the registry of all property backed beans. |
void |
start()
Starts up the component, using its new property values. |
protected void |
start(boolean broadcast)
Starts the bean, optionally broadcasting the event to remote nodes. |
void |
stop()
Stops the component, so that its property values can be changed. |
protected void |
stop(boolean broadcast)
Stops the bean, optionally broadcasting the event to remote nodes. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final java.lang.String DEFAULT_INSTANCE_NAME
| Constructor Detail |
|---|
public AbstractPropertyBackedBean()
| Method Detail |
|---|
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
setApplicationContext in interface org.springframework.context.ApplicationContextAwareorg.springframework.beans.BeansExceptionpublic void setRegistry(PropertyBackedBeanRegistry registry)
registry - the registry of all property backed beansprotected PropertyBackedBeanRegistry getRegistry()
public void setBeanName(java.lang.String name)
setBeanName in interface org.springframework.beans.factory.BeanNameAwarepublic void setCategory(java.lang.String category)
category - the categorypublic void setInstancePath(java.util.List instancePath)
instancePath - the instance pathpublic void setAutoStart(boolean autoStart)
autoStart - true if the bean should be started on startup of the parent application contextpublic void setPropertyDefaults(java.util.Properties propertyDefaults)
propertyDefaults - the property defaultsprotected java.util.Properties getPropertyDefaults()
protected java.lang.String resolveDefault(java.lang.String name)
name - the property name
null if there isn't oneprotected org.springframework.context.ApplicationContext getParent()
protected PropertyBackedBeanState getState(boolean start)
start - are we making use of the state? I.e. should we start it if it has not been already?
public void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.Exceptionpublic void init()
public void revert()
revert in interface PropertyBackedBean
protected abstract PropertyBackedBeanState createInitialState()
throws java.io.IOException
java.io.IOException - Signals that an I/O exception has occurred.
protected void applyDefaultOverrides(PropertyBackedBeanState state)
throws java.io.IOException
state - the state
java.io.IOException - Signals that an I/O exception has occurred.public java.util.List getId()
getId in interface PropertyBackedBeanprotected java.lang.String getCategory()
protected java.util.List getInstancePath()
public void destroy()
destroy in interface org.springframework.beans.factory.DisposableBeanprotected void destroy(boolean isPermanent)
isPermanent - is the component being destroyed forever, i.e. should persisted values be removed? On server shutdown,
this value would be false, whereas on the removal of a dynamically created instance, this
value would be true.public boolean isUpdateable(java.lang.String name)
isUpdateable in interface PropertyBackedBeanname - the property name
true if the property is updateablepublic java.lang.String getDescription(java.lang.String name)
getDescription in interface PropertyBackedBeanname - the name
public void onApplicationEvent(org.springframework.context.ApplicationEvent event)
onApplicationEvent in interface org.springframework.context.ApplicationListenerpublic java.lang.String getProperty(java.lang.String name)
getProperty in interface PropertyBackedBeanStatename - the name
public java.util.Set getPropertyNames()
getPropertyNames in interface PropertyBackedBeanState
public void setProperty(java.lang.String name,
java.lang.String value)
PropertyBackedBeanState.stop() and should only be called for
property names for which the #isUpdateable(String) method returns true.
setProperty in interface PropertyBackedBeanStatename - the property namevalue - the property valuepublic void start()
start in interface PropertyBackedBeanStateprotected void start(boolean broadcast)
broadcast - Should the event be broadcast?public void stop()
stop in interface PropertyBackedBeanStateprotected void stop(boolean broadcast)
broadcast - Should the event be broadcast?
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||