@NoImplement
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 © 2025 MuleSoft, Inc.. All rights reserved.