Make GeoAPI implementation class names consistent


Martin Desruisseaux





Implementation of GeoAPI classes have different naming pattern in different modules. In the referencing module, they are prefixed with Default or Abstract. In the metadata module, they are suffixed with Impl. This proposal is about a more consistent pattern to be applied at least accross the metadata, referencing and coverage modules. More specifically we suggest to adopt the Default/Abstract prefix scheme used in referencing, and rename all metadata implementation classes accordingly.

Why Default/Abstract prefix instead of Impl suffix

Example: The CRS package has the following classes. We can see immediately that CRS, SingleCRS and DerivedCRS are abstract (in ISO sense), and that UnprefixedMap has nothing to do with GeoAPI classes. We would like the same advantages for metadata.

Proposed action

No other classes than metadata would be renamed at this stage; current class names in referencing and coverage are considered okay.

Note that a few referencing and coverage classes use other prefix than Abstract or Default. For example "General" in GeneralEnvelope to stress-out its n-dimensionsl aspect compared to Envelope2D, or "Grid" in GridSampleDimension to stress-out that they apply to GridCoverage rather than arbitrary Coverage. This is okay and don't need to be forced into a Default/Abstract naming scheme. The above is just a proposed rule of thumbs, not a strict rule.

Voting is open:

Community support: