Class MetaProperty

  • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      java.lang.String getName()  
      java.lang.Object getValue()  
      <T> T getValueAs​(java.lang.Class<T> clazz)  
      void setName​(java.lang.String name)  
      void setValue​(java.lang.Object value)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • MetaProperty

        public MetaProperty()
      • MetaProperty

        protected MetaProperty​(java.lang.String name,
                               java.lang.Object value)
      • MetaProperty

        protected MetaProperty​(MetaProperty copy)
    • Method Detail

      • getName

        public final java.lang.String getName()
      • setName

        public void setName​(java.lang.String name)
      • getValueAs

        public <T> T getValueAs​(java.lang.Class<T> clazz)
      • getValue

        public java.lang.Object getValue()
      • setValue

        public void setValue​(java.lang.Object value)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object