Jody Garnett wrote: > I thought they were only doing this pattern to provide themselves > choice between having it as a reference or inline?
It is to cause type information to be encoded inline in GML. But why should we use an intermediate object in GeoAPI? > <element name="location" type="gml:LocationPropertyType"> > <annotation> > <documentation>Deprecated in GML 3.1.0</documentation> > </annotation> > </element> OK, I picked a deprecated example. My bad. > As for the actual LocationPropertyType it is a choice between several > things as I mentioned above. An actual Geometry or a magic string or > whatever. So why should we not remove the intermediate GeoAPI object? It adds nothing. It is a GML encoding artifact. > Finally both of these are deprecated; what do they recommend to do > now? Maybe they learned their lesson? No, the Outer - InnerProperty - Inner pattern is used everywhere. > In this case the separation of concerns was between the element name > and the type; not sure I see the problem. In java we have a separation > between a field name and a class type; same thing here. This is not the same. It would be like having a StringProperty class to encapsulate a String: class StringProperty { ... public String getString() ... ... } and using it *everywhere* you wanted to use a String. What does it add? It is a pointless extra wrapping layer. every o.getString would become: o.getStringProperty().getString() I am trying to draw a distinction between GeoAPI and GML. I do not know any reason to follow the GML pattern in GeoAPI. In GeoAPI we have direct access to type information, so we do not need to follow the GML pattern, which exists to encode type information. It makes the bindings more complicated than they need to be. Furthermore, it prevents us from treating associations and attributes consistently, because association references get smuggled as attributes on property types, while attributes are inline. -- Ben Caradoc-Davies <ben.caradoc-dav...@csiro.au> Software Engineer, CSIRO Exploration and Mining Australian Resources Research Centre 26 Dick Perry Ave, Kensington WA 6151, Australia ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel