java.lang.Object
com.inductiveautomation.ignition.common.metaproperties.MetaProperty
All Implemented Interfaces:
CopyConstructorClonable, Serializable
Direct Known Subclasses:
TypedMetaProperty

public class MetaProperty extends Object implements 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:
  • Constructor Details

    • MetaProperty

      public MetaProperty()
    • MetaProperty

      protected MetaProperty(String name, Object value)
    • MetaProperty

      protected MetaProperty(MetaProperty copy)
  • Method Details

    • getName

      public final String getName()
    • setName

      public void setName(String name)
    • getValueAs

      public <T> T getValueAs(Class<T> clazz)
    • getValue

      public Object getValue()
    • setValue

      public void setValue(Object value)
    • toString

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

      public boolean equals(Object obj)
      Overrides:
      equals in class Object