Attributes

Abstract base class for all static simulation attributes. Implementations must provide a no-arg default contstructor (either implicitly or explicitly) to enable deserialization from JSON. Attributes are "static" parameters i.e. they are immutable while a simulation is running. This is implemented by deriving from the org.apache.commons.attributes.Sealable interface. Attributes can have setters, but the setters must call the {@code checkSealed()} method before changing a value! In addition, if an attributes class contains other attributes classes as fields, it must override seal() to also seal these objects. All other fields must be immutable (e.g. String, Double, VPoint,...). The standard clone method makes a flat copy. This is enough if the subclass only triangleContains immutable fields. If the subclass triangleContains other Attributes objects, it must implement a copy constructor and override clone() to make a deep copy.


Field: ID_NOT_SET [int]

---