[ 
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)

Reply via email to