public class CompositeMetadataProviderImpl extends MetadataProviderBase implements CompositeMetadataProvider
The providers are processed in order, each one having the option to overlay information provided by earlier providers in the chain. The nature of the merge/overlay depends on the value of the mergeAction property on the returned object.
MetadataMergeAction
Modifier and Type | Field and Description |
---|---|
protected List<MetadataProvider> |
providers |
masterMetadataMap
Constructor and Description |
---|
CompositeMetadataProviderImpl() |
Modifier and Type | Method and Description |
---|---|
List<MetadataProvider> |
getProviders()
The list of providers this provider will use.
|
protected void |
initializeMetadata(Collection<Class<?>> types)
Performs the initialization of the provider with the given set of types.
|
protected void |
mergeInheritedAttributes()
Merges attributes from the current map with those that are inherited.
|
protected void |
mergeMetadataForType(DataObjectMetadata newMetadata,
DataObjectMetadata existingMetadata)
Merges the metadata of two specific types.
|
void |
setProviders(List<MetadataProvider> providers)
Setter for the providers.
|
getMetadataForType, getSupportedTypes, handles, isClassPersistable, provideMetadata, provideMetadataForTypes, requiresListOfExistingTypes
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMetadataForType, getSupportedTypes, handles, provideMetadata, provideMetadataForTypes, requiresListOfExistingTypes
protected List<MetadataProvider> providers
public CompositeMetadataProviderImpl()
protected void initializeMetadata(Collection<Class<?>> types)
If the list is null or empty, the provider is expected to discover the types via other means, or do nothing if the types cannot be discovered.
initializeMetadata
in class MetadataProviderBase
protected void mergeInheritedAttributes()
protected void mergeMetadataForType(DataObjectMetadata newMetadata, DataObjectMetadata existingMetadata)
newMetadata
- the metadata to merge in.existingMetadata
- the existing metadata to merge into.public List<MetadataProvider> getProviders()
They must be in the necessary order for processing. Later providers in the list.
getProviders
in interface CompositeMetadataProvider
public void setProviders(List<MetadataProvider> providers)
providers
- the providers to set.Copyright © 2005–2016 The Kuali Foundation. All rights reserved.