As part of my work on the org.openjump.core.apitools package I decided
to do some refactoring of the FeatureSchema and AttributeInfo class.
(This work is being done in my own fork, not in the JPP SVN.)

Here are a summary of my changes:

- Replaced the static fields in the AttributeType class with a enum.
- Extracted an interface from FeatureSchema called FeatureBlueprint,
and made FeatureSchema an implementation of this interface.
- Overhauled the AttributeInfo class fro Pirol, and made it a
top-level class in the org.openjump.core.feature package.
- Modified FeatureBlueprint/FeatureSchema to use the new AttributeType
class and the new AttributeValue class.

Client code now has the ability to specify a null value, default
value, description, and unit identifier for each attribute in a
FeatureSchema. (I'm going to use a portion of JSR-275 to define units.
This is what GeoTools is doing.) This is NOT required of client code.
You can still simply add an attribute by specifying an attribute name
and attribute type.

I'll start unit testing and writing javadoc comments soon. Then I'll
start the process of refactoring the other classes in the core to use
the modified API, since I just broke a lot of stuff. :]

Let me know if you are interested (or have questions) about my work.
Perhaps this fall we can integrate some of my changes into the JPP SVN
if they prove useful and not too dangerous.

SS

------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to