Package net.sf.gridarta.model.validation

This package contains the framework for validating maps.

Design Notes

Notes on not using a Mirror API

Although it would have been possible to create a Mirror API I have decided to directly hand out the original API to the map validation.

Pro Mirror API / Contra Original API

  • Keep the validation from (accidental) manipulation.

Pro Original API / Contra Mirror API

  • The amount of work that a mirror API would have involved.
  • Allow the validation to provide an error correction facility.

Notes on the class model

It would also have been possible to create less classes. But then the handling of enabling / disabling individual checks would have required more coding. I believe that this model is the best balance between an API that is powerful, small and easy to use. The number of classes is a bit high but all classes are extremely small.