Allow version field/property to be visible to application ---------------------------------------------------------
Key: JDO-683 URL: https://issues.apache.org/jira/browse/JDO-683 Project: JDO Issue Type: Improvement Components: api Affects Versions: JDO 3 maintenance release 1 Reporter: Matthew T. Adams Currently, it requires a vendor extension to make the version attribute (field or property) of a PC visible to the application. Some knowledgeable applications may need not only read access to the version field, but also write access to it. I propose that we allow version metadata to specify that a version attribute be application-visible. For annotation-based metadata, I recommend that it be allowed to be placed on fields & methods. For XML metadata, add XML attributes "attribute-name" to the "version" element that allows the user to specify which field or property is to hold the application-visible version value. Along with this change would be verbiage in the spec noting that applications really shouldn't change this value, but a knowledgeable application may change it, based on a new PMF & PM property called something like "javax.jdo.option.OnVersionChangeByApplication" with the following specified values. THROW: (default) the implementation will throw JDOUserVersionChangeException (extends JDOUserException) as early as the time the value is set, at the next flush, or at commit. IGNORE: the implementation ignores the value the user set for the object's version ALLOW: the implementation allows and uses the value the user set for the object's version This allows users to who know how their implementation behaves on user-modified version values to take advantage of such behavior. All names proposed are up for discussion. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira