public interface EnrichableModel
model properties
This is useful for pieces of metadata which might not apply to all extensions or might be specific to particular implementations.
Examples of a model property are the namespace URI and schema version for extensions that support XML configuration, vendor specific information, custom policies, etc.
The values added as model properties must be of implementations of the ModelProperty
interface. As explained on the ModelProperty javadoc, those objects should be immutable.
This is because if a model definition keeps changing the runtime behaviour could become inconsistent.
They should also be thread-safe since several threads should be able to query the model safely.
| Modifier and Type | Method and Description |
|---|---|
Set<ModelProperty> |
getModelProperties()
Returns all the model properties registered for this model
|
<T extends ModelProperty> |
getModelProperty(Class<T> propertyType)
Returns a registered model property of type
propertyType. |
<T extends ModelProperty> Optional<T> getModelProperty(Class<T> propertyType)
propertyType.
This search considers hierarchies. If no explicit value exists for the
given propertyType, then it will look for properties which extend
the given type or, in the case of an interface, implement it.
T - the generic type of the return valuepropertyType - the Class of the ModelProperty which is being queriedOptional ModelPropertyIllegalArgumentException - if propertyType is nullSet<ModelProperty> getModelProperties()
Set containing all the model propertiesCopyright © 2017 MuleSoft, Inc.. All rights reserved.