Annotations

Points are annotated with: soft point or hard corners. The annotation object currently live under the polygons.

Goal for new annotations

The goal for the new annotations is to have a uniform framework for all types of annotations on all types of objects.

They should be loosely coupled. Unlike the annotations up till ShapeLogic 1.0.

There are different types of annotations that should be handled easily:

  • A set of matches of a given type failed on this object
  • A set of properties that was successfully matched
  • For a given object have map of key values

Implementation

One map covering the whole all contexts.

For each object you will have an object containing

  • A set for failures
  • A set for successes
  • A map for everything else

In order for this to work match object need to have their equals operator overridden.

Queries that should be possible

  • For given object find the all the properties that it has.
  • For a given property value find all the object that has this property.
  • Right now when using JEXL it would be best if this does not use any static methods.

Fast access

Maybe make a double index to annotations.

Maybe have Types in a set.

If you use names and you have a tree set that should work.