The api module contains the GeoTools public interfaces that are used by
other GeoTools modules (and GeoTools applications). Where possible
we make use of standard interfaces from projects such as GeoAPI
The formal GeoTools public api consists of this module, geoapi and jts.
If you find yourself using implementations specific classes (such as
new ShapefileDataStore(...) chances are you are doing it wrong.