[ https://issues.apache.org/jira/browse/JDO-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17337682#comment-17337682 ]
Craig L Russell edited comment on JDO-709 at 5/12/21, 9:30 PM: --------------------------------------------------------------- Here are proposed specification updates. 5.4.1 Application identity No change unless we decide to allow converted fields to be primary key fields. 6.3 Second Class Objects Second Class Objects are instances of: - immutable system classes (java.lang.Integer, java.lang.String, etc.), - JDO implementation subclasses of mutable system classes that implement the functionality of their system class (java.util.Date, java.util.HashSet, etc.) - user-defined non-persistence-capable classes that use a user-defined converter (converted classes) - persistence- capable classes. Second Class Objects of mutable system classes and persistence-capable classes track changes made to them, and notify their owning FCO that they have changed. SCO fields of converted classes are declared using metadata, either in the associated jdo metadata file or via annotation. 6.4 Field types of pc classes 6.4.3 Persistent fields Converted Types JDO implementations must support fields of user-defined types that have an associated converter that defines conversion of values between the user-defined type and a supported database type. Fields declared to have a converter default to persistent, regardless of whether the converter is declared in annotations or the xml metadata file. 14.6 Query Interface void declareParameters (String parameters); Bind the parameter statements to the query instance. This method defines the parameter types and names that will be used by a subsequent execute method. Converted types may be used as parameters. 14.6.2 Query Filter Specification Rules for constructing valid expressions follow the Java language, except for these differences: • Equality and ordering comparisons between primitives, instances of converted classes, and instances of wrapper classes are valid. • Equality and ordering comparisons between fields containing instances of converted classes use the converted values for comparison. • Arithmetic operations (addition, subtraction, multiplication, division, or modulo) on fields use the converted values as the expression terms. Methods apply to converted types. was (Author: clr): Here are proposed specification updates. 5.4.1 Application identity No change unless we decide to allow converted fields to be primary key fields. 6.3 Second Class Objects Second Class Objects are instances of: - immutable system classes (java.lang.Integer, java.lang.String, etc.), - JDO implementation subclasses of mutable system classes that implement the functionality of their system class (java.util.Date, java.util.HashSet, etc.) - user-defined non-persistence-capable classes that use a user-defined converter (converted classes) - persistence- capable classes. Second Class Objects of mutable system classes, converted classes, and persistence-capable classes track changes made to them, and notify their owning FCO that they have changed. SCO fields of converted classes are declared using metadata, either in the associated jdo metadata file or via annotation. 6.4 Field types of pc classes 6.4.3 Persistent fields Converted Types JDO implementations must support fields of user-defined types that have an associated converter that defines conversion of values between the user-defined type and a supported database type. 14.6 Query Interface void declareParameters (String parameters); Bind the parameter statements to the query instance. This method defines the parameter types and names that will be used by a subsequent execute method. Converted types may be used as parameters. 14.6.2 Query Filter Specification Rules for constructing valid expressions follow the Java language, except for these differences: • Equality and ordering comparisons between primitives, instances of converted classes, and instances of wrapper classes are valid. • Equality and ordering comparisons between instances of converted classes use the converted values for comparison. • Arithmetic operations (addition, subtraction, multiplication, division, or modulo) on fields use the converted values as the expression terms. Methods apply to converted types. > Standardize field/property converters > ------------------------------------- > > Key: JDO-709 > URL: https://issues.apache.org/jira/browse/JDO-709 > Project: JDO > Issue Type: New Feature > Components: api, specification, tck > Reporter: Matthew T. Adams > Assignee: Craig L Russell > Priority: Minor > Labels: converstion, converter, jdo, type, type-converter > Fix For: JDO 3.2 > > Attachments: JDO-709-01.patch, JDO-709-3.patch, JDO-709-4.patch > > > This request is to standardize a user's ability to specify conversions of > fields or properties of persistence-capable classes. Currently, this is left > to vendor extensions. -- This message was sent by Atlassian Jira (v8.3.4#803005)