Factory type hierarchy changed to accommodate WFSDataAccessFactory
AbstractDataStoreFactory's implementation detail is moved into AbstractDataAccessFactory.
AbstractDataStoreFactory extends the new AbstractDataAccessFactory and retains its obligation to implement DataStoreFactorySpi - it's kept for backwards-compatibility but is no longer required by WFSDataStoreFactory.
WFSDataStoreFactory extends WFSDataAccessFactory (which in turn extends the new AbstractDataAccessFactory) and it now directly implements DataStoreFactorySpi.
DataAccess type hierarchy changed to accommodate WFSContentDataAccess
WFSContentDataAccess implements DataAccess<FeatureType, Feature> directly. There's potential to either: create analogues of DataStore and ContentDataStore, or to succeed those forms with less restrictive versions, deferring the type-narrowing to WFSContentDataStore.
GetFeatureParser type hierarchy changed to accommodate XmlComplexFeatureParser
Convert GetFeatureParser to generic form GetParser<F extends Feature>, deprecate GetFeatureParser.
Add new abstract class XmlFeatureParser<F extends Feature>. This contains generic implementations taken with modification from XmlSimpleFeatureParser.
XmlSimpleFeatureParser and a new XmlComplexFeatureParser now both extend XmlFeatureParser, using SimpleFeature and Feature as their type parameters respectively.
SimpleFeatureBuilder refactored to accommodate ComplexFeatureBuilder
SimpleFeatureBuilder's impementation is generalised and refactored to a new abstract class, FeatureBuilder<F : FeatureBuilder, FT FeatureType>
The new class, ComplexFeatureBuilder can now share some of the implementation detail that was originaly just in SimpleFeatureBuilder.