I've just committed significant changes to MasonGeometry's attribute implementation and have rippled forward those changes to the rest of GeoMason. There are a few rough edges to polish yet, but at least now folks can kick the tires on this incarnation before I cut a new version of GeoMason.
Now accessing attributes is trivial via these new MasonGeometry methods:
Integer getIntegerAttribute(String name)
Double getDoubleAttribute(String name)
String getStringAttribute(String name)
Object getAttributer(String name)
boolean hasAttribute(String name)
Moreover, the lookup for these values is now O(1), not O(log n). (Actually, some of the demos had O(n) implementations, which have now been repaired.)
Note that ShapeFileExporter is currently broken by these changes. I will be fixing that shortly.
I'd be keenly interested to learn of any bugs or performance issues with these changes. Please e-mail me such, or post them to this mailing list. Thanks!