public class LifeCycleRegistry extends ContributionFragmentRegistry<LifeCycleDescriptor>
ContributionFragmentRegistry.Fragment<T>, ContributionFragmentRegistry.FragmentList<T>
Constructor and Description |
---|
LifeCycleRegistry() |
Modifier and Type | Method and Description |
---|---|
LifeCycleDescriptor |
clone(LifeCycleDescriptor orig)
CLone the given contribution object
|
void |
contributionRemoved(String id,
LifeCycleDescriptor lifeCycleDescriptor)
All the fragments in the contribution was removed.
|
void |
contributionUpdated(String id,
LifeCycleDescriptor contrib,
LifeCycleDescriptor newOrigContrib)
Adds or updates a contribution.
|
String |
getContributionId(LifeCycleDescriptor contrib)
Returns the contribution ID given the contribution object
|
LifeCycle |
getLifeCycle(LifeCycleDescriptor desc)
Returns a life cycle instance out of the life cycle configuration.
|
LifeCycle |
getLifeCycle(String name) |
Collection<LifeCycle> |
getLifeCycles() |
boolean |
isSupportingMerge()
Returns true if merge is supported.
|
void |
merge(LifeCycleDescriptor src,
LifeCycleDescriptor dst)
Merge 'src' into 'dst'.
|
addContribution, getFragments, removeContribution, removeContribution
public String getContributionId(LifeCycleDescriptor contrib)
ContributionFragmentRegistry
getContributionId
in class ContributionFragmentRegistry<LifeCycleDescriptor>
public void contributionUpdated(String id, LifeCycleDescriptor contrib, LifeCycleDescriptor newOrigContrib)
ContributionFragmentRegistry
If the contribution doesn't yet exists then it will be added, otherwise the value will be updated. If the given value is null the existing contribution must be removed.
The second parameter is the contribution that should be updated when
merging, as well as stored and used. This usually represents a clone of
the original contribution or a merge of multiple contribution fragments.
Modifications on this object at application level will be lost on next
ContributionFragmentRegistry.contributionUpdated(String, Object, Object)
call on the same
object id: modifications should be done in the
ContributionFragmentRegistry.merge(Object, Object)
method.
The last parameter is the new contribution object, unchanged (original) which was neither cloned nor merged. This object should never be modified at application level, because it will be used each time a subsequent merge is done. Also, it never should be stored.
contributionUpdated
in class ContributionFragmentRegistry<LifeCycleDescriptor>
id
- - the id of the contribution that needs to be updatedcontrib
- the updated contribution object thatnewOrigContrib
- - the new, unchanged (original) contribution
fragment that triggered the update.public void contributionRemoved(String id, LifeCycleDescriptor lifeCycleDescriptor)
ContributionFragmentRegistry
The first parameter is the contribution ID that should be remove and the second parameter the original contribution fragment that as unregistered causing the contribution to be removed.
contributionRemoved
in class ContributionFragmentRegistry<LifeCycleDescriptor>
public boolean isSupportingMerge()
ContributionFragmentRegistry
Hook method to be overridden if merge logics behind Object.clone()
and
ContributionFragmentRegistry.merge(Object, Object)
cannot be implemented.
isSupportingMerge
in class ContributionFragmentRegistry<LifeCycleDescriptor>
public LifeCycleDescriptor clone(LifeCycleDescriptor orig)
ContributionFragmentRegistry
clone
in class ContributionFragmentRegistry<LifeCycleDescriptor>
public void merge(LifeCycleDescriptor src, LifeCycleDescriptor dst)
ContributionFragmentRegistry
merge
in class ContributionFragmentRegistry<LifeCycleDescriptor>
src
- the object to copy over the 'dst' objectdst
- this object is modifiedpublic Collection<LifeCycle> getLifeCycles()
public LifeCycle getLifeCycle(LifeCycleDescriptor desc)
Copyright © 2013 Nuxeo SA. All Rights Reserved.