Class FactoryBindingRegistry
- Since:
- 9.3
-
Nested Class Summary
Nested classes/interfaces inherited from class org.nuxeo.runtime.model.ContributionFragmentRegistry
ContributionFragmentRegistry.Fragment<T>, ContributionFragmentRegistry.FragmentList<T>
-
Field Summary
Fields inherited from class org.nuxeo.runtime.model.ContributionFragmentRegistry
contribs
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCLone the given contribution objectvoid
contributionRemoved
(String id, FactoryBindingDescriptor origContrib) All the fragments in the contribution was removed.void
contributionUpdated
(String id, FactoryBindingDescriptor contrib, FactoryBindingDescriptor newOrigContrib) Adds or updates a contribution.getContribution
(String docTypeOrFacet) Get a merged contribution directly from the internal registry - and avoid passing by the implementation registry.Returns the contribution ID given the contribution objectvoid
Merge 'src' into 'dst'.Methods inherited from class org.nuxeo.runtime.model.ContributionFragmentRegistry
addContribution, addFragment, getFragments, isSupportingMerge, removeContribution, removeContribution, removeFragment, toMap
-
Constructor Details
-
FactoryBindingRegistry
public FactoryBindingRegistry()
-
-
Method Details
-
getContributionId
Description copied from class:ContributionFragmentRegistry
Returns the contribution ID given the contribution object- Specified by:
getContributionId
in classContributionFragmentRegistry<FactoryBindingDescriptor>
-
contributionUpdated
public void contributionUpdated(String id, FactoryBindingDescriptor contrib, FactoryBindingDescriptor newOrigContrib) Description copied from class:ContributionFragmentRegistry
Adds 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:
contributionUpdated
in classContributionFragmentRegistry<FactoryBindingDescriptor>
- 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
Description copied from class:ContributionFragmentRegistry
All 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:
contributionRemoved
in classContributionFragmentRegistry<FactoryBindingDescriptor>
-
clone
Description copied from class:ContributionFragmentRegistry
CLone the given contribution object- Specified by:
clone
in classContributionFragmentRegistry<FactoryBindingDescriptor>
-
merge
Description copied from class:ContributionFragmentRegistry
Merge 'src' into 'dst'. When merging only the 'dst' object is modified.- Specified by:
merge
in classContributionFragmentRegistry<FactoryBindingDescriptor>
- Parameters:
src
- the object to copy over the 'dst' objectdst
- this object is modified
-
getContribution
Description copied from class:ContributionFragmentRegistry
Get a merged contribution directly from the internal registry - and avoid passing by the implementation registry. Note that this operation will invoke a merge of existing fragments if needed.Since 5.5, this method has made protected as it should not be used by the service retrieving merged resources (otherwise merge will be done again). If you'd really like to call it, add a public method on your registry implementation that will call it.
- Overrides:
getContribution
in classContributionFragmentRegistry<FactoryBindingDescriptor>
-