A key by which a Node’s additional information can be accessed.

  • Key
    • Basic
      • Identifiable
      • Object
        • Anything
Initializer
Key(String name)
Parameters:
  • name

    The name of this key. To avoid collisions with other keys, some use-site ID should be included, e. g. the name of the module that uses this key.

Attributes
hashshared actual Integer hash

The hash value of the value, which allows the value to be an element of a hash-based set or key of a hash-based map. Implementations must respect the constraint that:

  • if x==y then x.hash==y.hash.

Therefore, a class which refines equals must also refine hash.

Because the Integer type is platform-dependent a compiler for a given platform is permitted to further manipulate the calculated hash for an object, and the resulting hash may differ between platforms.

Refines Identifiable.hash ultimately refines Object.hash
idshared String id= "`` `Type`.string ``:::``name``"

A unique ID of this key, composed of the name argument and the Type type argument.

stringshared actual String string

A developer-friendly string representing the instance. Concatenates the name of the concrete class of the instance with the hash of the instance. Subclasses are encouraged to refine this implementation to produce a more meaningful representation.

Refines Object.string
Inherited Attributes
Attributes inherited from: Object
hash, string
Methods
equalsshared actual Boolean equals(Object that)

Determine if two values are equal. Implementations should respect the constraints that:

  • if x===y then x==y (reflexivity),
  • if x==y then y==x (symmetry),
  • if x==y and y==z then x==z (transitivity).

Furthermore it is recommended that implementations ensure that if x==y then x and y have the same concrete class.

A class which explicitly refines equals() is said to support value equality, and the equality operator == is considered much more meaningful for such classes than for a class which simply inherits the default implementation of identity equality from Identifiable.

Refines Identifiable.equals ultimately refines Object.equals
Inherited Methods
Methods inherited from: Object
equals