Hello all

Which action should we take regarding the Shapefile module for a SIS 0.5
release? Choices are:

1) Release with the shapefile module as-is.
2) Omit (again) the shapefile module for the release.
3) Review its public API before release, e.g. as in SIS-185 [1].

I would like to avoid 1 because the current public API does not yet
follow the encapsulation principle. Currently, we expose many internal
details. Examples:

* String or dates stored as array of bytes
* Addresses to fields in memory (maybe a legacy from C/C++)
* Undocumented things like "DBase+ Lan Reserved 2"
* Various numerical codes internal to the DBase format
* Objects used by the implementation for performing I/O operations (e.g.
MappedByteBuffer)

Since SIS is a library aimed to be used by applications that we do not
control, every public API is likely to be used by someone somewhere.
Exposing those objects publicly would mean that we commit to keep them
in the future. I don't think that this is the intend...

    Martin

[1] https://issues.apache.org/jira/browse/SIS-185

Reply via email to