I forgot to tell why they are few variables like "DBase+ Lan Reserved 2" among the descriptors. They have no use, in fact, during reading. But at the time we will insert or update the DBase file, they will receive their default values properly : many will want zeros, some 0x0D, etc.

Marc.

-----Message d'origine----- From: Martin Desruisseaux
Sent: Monday, December 22, 2014 6:55 AM
To: Apache SIS
Subject: Action for a SIS 0.5 release?

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