Add some suffix in classnames of Geotools implementations of GeoAPI interfaces

Description

Geotools implementations of GeoAPI interfaces (especially in CRS and metadata packages) uses the same name than the corresponding interfaces. Some negative feedback has been reported against that. We should probably add some suffix to classname when there is no other way to differentiate the name (apart from package names). Proposal are:

  • GT (e.g. GeodeticDatumGT)
    Inconvenient: it sound like a sport car.

  • Impl (e.g. GeodeticDatumImpl)
    Inconvenient: is is a little bit ugly, and doesn't said which implementation it is. For example in the case of some geometry objects, we expect at least 2 implementations: one for tuned for J2D-renderer (e.g. ArrayPoint2D), and one which is a wrapper around JTS object (e.g. ArrayPointJTS).

Which suffix people prefers (including "none" if they are against)?

Note: the following classes in 'org.geotools.xml.schema.impl' already uses the GT suffix:

AllGT
AnyGT
AttributeGroupGT
AttributeGT
AttributeValueGT
ChoiceGT
ComplexTypeGT
ElementGT
ElementValueGT
FacetGT
GroupGT
SequenceGT
SimpleTypeGT

Environment

None

Activity

Show:
codehaus
April 10, 2015, 3:24 PM

CodeHaus Comment From: desruisseaux - Time: Tue, 5 Apr 2005 05:17:47 -0500
---------------------
"GI" for "Geotools Implementation"? I understand that it looks like a soldier...

It is worth to note that if we come to anything else than "GT", the implementation classes cited in the description will need to be updated as well if we want consistency accross Geotools.

codehaus
April 10, 2015, 3:24 PM

CodeHaus Comment From: desruisseaux - Time: Mon, 11 Apr 2005 20:23:12 -0500
---------------------
Vote result from the mailing list (as of Monday, April 11):

 - Impl suffix: 4 votes

 - Default prefix: 2 votes

 - GT suffix: 1 vote (me...)

 - No change: 1 vote

However, Jody rightly point out that we already have naming conventions:

&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://docs.codehaus.org/display/GEOTOOLS/Naming+Conventions">http://docs.codehaus.org/display/GEOTOOLS/Naming+Conventions</a>

According those conventions, we need to add the &quot;Default&quot; prefix.

codehaus
April 10, 2015, 3:24 PM

CodeHaus Comment From: desruisseaux - Time: Mon, 23 May 2005 06:11:40 -0500
---------------------
Added &quot;Impl&quot; suffix to metadata implementations.

codehaus
April 10, 2015, 3:24 PM

CodeHaus Comment From: desruisseaux - Time: Mon, 23 May 2005 18:17:44 -0500
---------------------
The only metadata implementation provided in 2.0.0 release was Citation:

<a href="http://svn.geotools.org/geotools/tags/2.0.0/gt/module/main/src/org/geotools/metadata/citation/Citation.java">http://svn.geotools.org/geotools/tags/2.0.0/gt/module/main/src/org/geotools/metadata/citation/Citation.java</a>

This one need to be deprecated and removed in 2.2 release only. All other legacy implementations may be removed.

codehaus
April 10, 2015, 3:24 PM

CodeHaus Comment From: desruisseaux - Time: Sun, 29 May 2005 07:40:03 -0500
---------------------
Work is finished. Summary:

&nbsp;&nbsp;- Addition of &quot;Impl&quot; suffix to all metadata implementations.

&nbsp;&nbsp;- Addition of &quot;Default&quot; or &quot;Abstract&quot; prefix to CRS and

&nbsp;&nbsp;&nbsp;&nbsp;parameter implementations. This is consistent with the

&nbsp;&nbsp;&nbsp;&nbsp;name changes that Jody already did a while ago for

&nbsp;&nbsp;&nbsp;&nbsp;AbstractParameter and the like (I keept Jody&#39;s names, and

&nbsp;&nbsp;&nbsp;&nbsp;continued the renaming of other classes in the same way).

Dependencies in other packages (including plugins) were updated.

Old CRS and parameter names still there as deprecated classes. I plan to delete them from the trunk after the creation of the 2.1 branch (so they would be included in 2.1 release, because they were already there in 2.0).

If some names are badly choosen, comments welcome. Better to fix any misnaming now.

Assignee

Unassigned

Reporter

codehaus

Triage

None

Components

Fix versions

Affects versions

Priority

Lowest
Configure