@NoImplement public interface ModelProperty extends NamedObject, Serializable
EnrichableModel
with
non canonical pieces of information.
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.
Implementations of this interface must 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 |
---|---|
String |
getName()
A unique name which identifies this property.
|
boolean |
isPublic()
Whether this instance should be included when serializing or sharing
the owning
EnrichableModel or if on the contrary, this model property
holds information which is proprietary to the runtime and should not
communicated. |
String getName()
getName
in interface NamedObject
boolean isPublic()
EnrichableModel
or if on the contrary, this model property
holds information which is proprietary to the runtime and should not
communicated.
Non public properties should be skipped by serializers and any other kind of sharing mechanisms.
BEWARE: Non public model properties are not to be considered API and thus nobody (or anything) should depend on it. Backwards compatibility will not be guaranteed on non public properties.
Copyright © 2018. All rights reserved.