GeoTools : FeatureType Super Type Design

Support for extention of a parent super type. Resulting feature should be made up of attribtues of both the super type and the sub type. Sub types have an oppertunity to further restrict indivudual attribtues defined by the super type.

Nobody was interested in supporting multiple supertypes at this time. It should be kept in mind as a possible avuene for future growth (we should not for example support index based attribute access which would limit our support for this construct).

In GML their is a separation between subsitution type and Extention. It may also be useful to provide for super AttributeType as a way of capturing the use of Atomic types defined by XMLSchema.

Design Decision:

interface FeatureType {
    boolean isAbstract();
    FeatureType getSuperType();    
}

(warning) The issue of super type may also be needed for handling complex, and even simple content. Gabriel has expressed a wish to capture the XMLSchema Atomic types and be able to explicitly reuse their restrictions.