A Mantikhor Property Value is a Node in graph theory: a single item of information. Any Node can be the value of a Property (i.e., the target of an Arc). Note that, when implementing
Decorable
, instances must delegate that to the
Decorable
characteristics of the instance's ReefNode. Obviously, if
this.getReefNode() == null
, the mutators must throw an
UnsupportedOperationException
, and the accessors must behave as if the ReefNode is empty of decoration (because a
null
ReefNode is considered to be the equivalent of an empty ReefNode). For immutable implementations, the mutators in
Decorable
must throw an
UnsupportedOperationException
to signal that they have been disabled. When implementing the
Comparable
interface, the conventional ordering of
Property
instances is:
- By Property Definition
- Then by whether the Property value Node is Comparable:
-
Comparable
property value nodes first, ordered according to their implementation of Comparable
; - Then non-
Comparable
property value nodes, ordered by the nodes's .toString()
representations.
NOT EXPECTED TO BE IMPLEMENTED -- FOR EXTENSION ONLY
@author Bill Blondeau