But with JCR, wouldn't the application just compare the Value objects to guarantee uniqueness? ModeShape properly implements Value.hashCode() and Value.equals() to reflect value equality. Does that not work correctly?
Don't confuse the graph-layer classes with those classes that implement the JCR API. The graph-layer is the lower-level functionality that does not have the same semantics as JCR, while the JCR implementation layer enforces the JCR semantics on top of the (more generic) graph layer.
1 of 1 people found this helpful
Ah, I see what you're saying. Value.hashCode() delegates to the graph-level object value. And that means the Value.hashCode() doesn't work properly. Please log a defect and we'll fix that.