Class ChainExceptionRegistry
- java.lang.Object
-
- org.nuxeo.runtime.model.ContributionFragmentRegistry<ChainException>
-
- org.nuxeo.ecm.automation.core.exception.ChainExceptionRegistry
-
public class ChainExceptionRegistry extends ContributionFragmentRegistry<ChainException>
- Since:
- 5.7.3
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nuxeo.runtime.model.ContributionFragmentRegistry
ContributionFragmentRegistry.Fragment<T>, ContributionFragmentRegistry.FragmentList<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,ChainException>chainExceptionsModifiable automation filter registry.protected Map<String,ChainException>lookupRead only cache for automation filter lookup.-
Fields inherited from class org.nuxeo.runtime.model.ContributionFragmentRegistry
contribs
-
-
Constructor Summary
Constructors Constructor Description ChainExceptionRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddContribution(ChainException chainException, boolean replace)ChainExceptionclone(ChainException orig)CLone the given contribution objectvoidcontributionRemoved(String id, ChainException origContrib)All the fragments in the contribution was removed.voidcontributionUpdated(String id, ChainException contrib, ChainException newOrigContrib)Adds or updates a contribution.ChainExceptiongetChainException(String onChainId)StringgetContributionId(ChainException contrib)Returns the contribution ID given the contribution objectbooleanisSupportingMerge()Returns true if merge is supported.Map<String,ChainException>lookup()voidmerge(ChainException src, ChainException dst)Merge 'src' into 'dst'.-
Methods inherited from class org.nuxeo.runtime.model.ContributionFragmentRegistry
addContribution, addFragment, getContribution, getFragments, removeContribution, removeContribution, removeFragment, toMap
-
-
-
-
Field Detail
-
chainExceptions
protected final Map<String,ChainException> chainExceptions
Modifiable automation filter registry. Modifying the registry is using a lock and it's thread safe. Modifications are removing the cache.
-
lookup
protected volatile Map<String,ChainException> lookup
Read only cache for automation filter lookup. Thread safe. Not using synchronization if cache already created.
-
-
Method Detail
-
addContribution
public void addContribution(ChainException chainException, boolean replace) throws OperationException
- Throws:
OperationException
-
isSupportingMerge
public boolean isSupportingMerge()
Description copied from class:ContributionFragmentRegistryReturns true if merge is supported.Hook method to be overridden if merge logics behind
Object.clone()andContributionFragmentRegistry.merge(Object, Object)cannot be implemented.- Overrides:
isSupportingMergein classContributionFragmentRegistry<ChainException>
-
getContributionId
public String getContributionId(ChainException contrib)
Description copied from class:ContributionFragmentRegistryReturns the contribution ID given the contribution object- Specified by:
getContributionIdin classContributionFragmentRegistry<ChainException>
-
contributionUpdated
public void contributionUpdated(String id, ChainException contrib, ChainException newOrigContrib)
Description copied from class:ContributionFragmentRegistryAdds or updates a contribution.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 method 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.
- Specified by:
contributionUpdatedin classContributionFragmentRegistry<ChainException>- Parameters:
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.
-
contributionRemoved
public void contributionRemoved(String id, ChainException origContrib)
Description copied from class:ContributionFragmentRegistryAll the fragments in the contribution was removed. Contribution must be unregistered.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.
- Specified by:
contributionRemovedin classContributionFragmentRegistry<ChainException>
-
clone
public ChainException clone(ChainException orig)
Description copied from class:ContributionFragmentRegistryCLone the given contribution object- Specified by:
clonein classContributionFragmentRegistry<ChainException>
-
merge
public void merge(ChainException src, ChainException dst)
Description copied from class:ContributionFragmentRegistryMerge 'src' into 'dst'. When merging only the 'dst' object is modified.- Specified by:
mergein classContributionFragmentRegistry<ChainException>- Parameters:
src- the object to copy over the 'dst' objectdst- this object is modified
-
lookup
public Map<String,ChainException> lookup()
-
getChainException
public ChainException getChainException(String onChainId)
-
-