The elements defined in a computer language, such as classes and methods in Java or elements in an XML document, appear in monospaced font in this document. In order to facilitate an understanding of the relationships between Apache SIS and the standards, these elements are also represented using the following color codes:
For example to represent a projected coordinate reference system (Mercator, Lambert, etc),
SC_ProjectedCRS
is an UML and XML element defined by the ISO 19111 standard.
Then org.opengis.referencing.crs.ProjectedCRS
is the implementation-neutral GeoAPI interface derived from that standard,
and org.apache.sis.referencing.crs.DefaultProjectedCRS
is the implementation class provided by Apache SIS.
Apache SIS implements most GeoAPI interfaces by a classes of the same name than the interface
but prefixed by Abstract
, Default
or General
word.
The General
prefix is sometimes used instead of Default
to indicate that alternative implementations are available for some specific cases.
For example the Envelope
interface is implemented by at least two Apache SIS classes:
GeneralEnvelope
and Envelope2D
.
The first implementation can represent envelopes with any number of dimensions
while the second implementation is specialized for two-dimensional envelopes.
Apache SIS classes prefixed by Abstract
should not (in principle) be instantiated.
Users should instantiate a non-abstract subclass instead.
However many SIS classes are only conceptually abstract,
without abstract
Java keyword in class definition.
Such classes can be instantiated by a new AbstractXXX(…)
statement despite being conceptually abstract.
Such instantiations should be avoided, but are nevertheless permitted in last resort when it is not possible to determine the exact subtype.