- All Implemented Interfaces:
- CopyConstructorClonable, java.io.Serializable
- Direct Known Subclasses:
- TypedMetaProperty
public class MetaProperty
extends java.lang.Object
implements java.io.Serializable, CopyConstructorClonable
The base MetaProperty class. A metaproperty represets a setting. It has a name and a value. While not marked as
abstract, there are currently no public constructors. The reason is that everything should ideally be a
TypedMetaProperty.
A WellKnownMetaProperty is a special typed meta property defining a common setting. Ideally each stored setting would
have a defined WellKnownMetaProperty, since they have utilities to make it easier to retrieve/set setting values in a
type safe way.
Not-yet-implemented idea: A MetaProperty can be marked as Immutable, in which case its value cannot be changed and it
cannot be altered/replaced/removed from a collection. The purpose of of immutable properties is to allow subclasses
to enforce certain settings. By having immutable settings we could easily merge between StandardGroup and
HistoricalGroup without worry. Another possible flag is REQUIRED (can't be removed)
- See Also:
TypedMetaProperty
,
WellKnownMetaProperty
,
Serialized Form