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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCLone the given contribution objectvoidcontributionRemoved(String id, FactoryBindingDescriptor origContrib) All the fragments in the contribution was removed.voidcontributionUpdated(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 objectvoidMerge '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:ContributionFragmentRegistryReturns the contribution ID given the contribution object- Specified by:
getContributionIdin classContributionFragmentRegistry<FactoryBindingDescriptor>
-
contributionUpdated
public void contributionUpdated(String id, FactoryBindingDescriptor contrib, FactoryBindingDescriptor 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<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: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<FactoryBindingDescriptor>
-
clone
Description copied from class:ContributionFragmentRegistryCLone the given contribution object- Specified by:
clonein classContributionFragmentRegistry<FactoryBindingDescriptor>
-
merge
Description copied from class:ContributionFragmentRegistryMerge 'src' into 'dst'. When merging only the 'dst' object is modified.- Specified by:
mergein classContributionFragmentRegistry<FactoryBindingDescriptor>- Parameters:
src- the object to copy over the 'dst' objectdst- this object is modified
-
getContribution
Description copied from class:ContributionFragmentRegistryGet 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:
getContributionin classContributionFragmentRegistry<FactoryBindingDescriptor>
-