In GeoAPI 1.0, geometries are immutables. Some applications need mutables geometries, since reconstructing a whole geometry for a change in only one point (for example) is not always pratical. Some other application requires immutable geometries, for example a display could become out of synchronisation if a geometry changed without renderer knowledge. There is different ways to provide that:
1) Provide listeners
2) Provide mutable and immutable views of geometries either through:
a) optional setFoo(...) methods, which may thrown an
b) Some kind of ReadAccess and WriteAccess interfaces. For example
basic geometry interfaces could be immutable, with a
"ModifiableFoo" subinterface for each of them.