public class FactoryBindingRegistry extends ContributionFragmentRegistry<FactoryBindingDescriptor>
ContributionFragmentRegistry.Fragment<T>, ContributionFragmentRegistry.FragmentList<T>
contribs
Constructor and Description |
---|
FactoryBindingRegistry() |
Modifier and Type | Method and Description |
---|---|
FactoryBindingDescriptor |
clone(FactoryBindingDescriptor orig)
CLone the given contribution object
|
void |
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.
|
FactoryBindingDescriptor |
getContribution(String docTypeOrFacet)
Get a merged contribution directly from the internal registry - and avoid passing by the implementation registry.
|
String |
getContributionId(FactoryBindingDescriptor contrib)
Returns the contribution ID given the contribution object
|
void |
merge(FactoryBindingDescriptor src,
FactoryBindingDescriptor dst)
Merge 'src' into 'dst'.
|
addContribution, addFragment, getFragments, isSupportingMerge, removeContribution, removeContribution, removeFragment, toMap
public FactoryBindingRegistry()
public String getContributionId(FactoryBindingDescriptor contrib)
ContributionFragmentRegistry
getContributionId
in class ContributionFragmentRegistry<FactoryBindingDescriptor>
public void contributionUpdated(String id, FactoryBindingDescriptor contrib, FactoryBindingDescriptor 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<FactoryBindingDescriptor>
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, FactoryBindingDescriptor origContrib)
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<FactoryBindingDescriptor>
public FactoryBindingDescriptor clone(FactoryBindingDescriptor orig)
ContributionFragmentRegistry
clone
in class ContributionFragmentRegistry<FactoryBindingDescriptor>
public void merge(FactoryBindingDescriptor src, FactoryBindingDescriptor dst)
ContributionFragmentRegistry
merge
in class ContributionFragmentRegistry<FactoryBindingDescriptor>
src
- the object to copy over the 'dst' objectdst
- this object is modifiedpublic FactoryBindingDescriptor getContribution(String docTypeOrFacet)
ContributionFragmentRegistry
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.
getContribution
in class ContributionFragmentRegistry<FactoryBindingDescriptor>
Copyright © 2018 Nuxeo. All rights reserved.