You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2022/04/11 15:32:50 UTC

[db-jdo-site] branch main updated: Add java.time types supported in 3.2, and split types into functional groupings for readability.

This is an automated email from the ASF dual-hosted git repository.

andyj pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/db-jdo-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 54d547e  Add java.time types supported in 3.2, and split types into functional groupings for readability.
54d547e is described below

commit 54d547e22cba9786215e787b3ffeea1cf4474826
Author: andyjefferson <an...@datanucleus.org>
AuthorDate: Mon Apr 11 16:32:45 2022 +0100

    Add java.time types supported in 3.2, and split types into functional
    groupings for readability.
---
 src/main/asciidoc/field_types.adoc | 316 +++++++++++++++++++++++++------------
 1 file changed, 219 insertions(+), 97 deletions(-)

diff --git a/src/main/asciidoc/field_types.adoc b/src/main/asciidoc/field_types.adoc
index 728fb5f..a8ec3ea 100644
--- a/src/main/asciidoc/field_types.adoc
+++ b/src/main/asciidoc/field_types.adoc
@@ -47,9 +47,16 @@ field of that type), whether the field is persisted by default (if it is
 to the field for it to be persisted by JDO), and whether the java type
 can be used as part of the primary key.
 
-[cols="4",options="header",]
+==== Simple Types
+
+The following "simple" types are supported by default by the JDO spec.
+
+[cols="4,1,2,1",options="header",]
 |===
-|Java Type |DFG? |Persistent? |PK?
+|Java Type 
+|DFG? 
+|Persistent? 
+|PK?
 
 |boolean
 |icon:check[]
@@ -91,300 +98,415 @@ can be used as part of the primary key.
 |icon:check[]
 |icon:check[]
 
-|boolean[]
-|icon:times[]
+|java.lang.Boolean
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Byte
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Character
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Double
+|icon:check[]
 |icon:check[]
 |icon:times[]
 
-|byte[]
+|java.lang.Float
+|icon:check[]
+|icon:check[]
 |icon:times[]
+
+|java.lang.Integer
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Long
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Short
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Number
+|icon:check[]
 |icon:check[]
 |icon:times[]
 
-|char[]
+|java.lang.Object
+|icon:times[]
 |icon:times[]
-|icon:check[]
 |icon:times[]
 
-|double[]
+|java.lang.String
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.math.BigDecimal
+|icon:check[]
+|icon:check[]
 |icon:times[]
+
+|java.math.BigInteger
+|icon:check[]
+|icon:check[]
 |icon:check[]
+
+|java.util.Currency
 |icon:times[]
+|icon:check[]
+|icon:check[]
 
-|float[]
+|java.util.Locale
 |icon:times[]
 |icon:check[]
+|icon:check[]
+
+|java.lang.Enum
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.lang.Optional
+|icon:check[]
+|icon:check[]
 |icon:times[]
 
-|int[]
+|java.io.Serializable
+|icon:times[]
 |icon:times[]
-|icon:check[]
 |icon:times[]
 
-|long[]
+|javax.jdo.spi.PersistenceCapable
 |icon:times[]
 |icon:check[]
+|icon:check[]
+
+|===
+
+
+==== Temporal Types
+
+The following temporal types are supported by default by the JDO spec.
+
+[cols="4,1,2,1",options="header",]
+|===
+|Java Type 
+|DFG? 
+|Persistent? 
+|PK?
+
+|java.sql.Date
+|icon:times[]
 |icon:times[]
+|icon:check[]
 
-|short[]
+|java.sql.Time
+|icon:times[]
 |icon:times[]
 |icon:check[]
+
+|java.sql.Timestamp
 |icon:times[]
+|icon:times[]
+|icon:check[]
 
-|java.lang.Boolean
+|java.util.Date
 |icon:check[]
 |icon:check[]
 |icon:check[]
 
-|java.lang.Byte
+|java.time.LocalDateTime
 |icon:check[]
 |icon:check[]
 |icon:check[]
 
-|java.lang.Character
+|java.time.LocalTime
 |icon:check[]
 |icon:check[]
 |icon:check[]
 
-|java.lang.Double
+|java.time.LocalDate
+|icon:check[]
 |icon:check[]
 |icon:check[]
-|icon:times[]
 
-|java.lang.Float
+|java.time.OffsetDateTime
+|icon:check[]
 |icon:check[]
 |icon:check[]
-|icon:times[]
 
-|java.lang.Integer
+|java.time.OffsetTime
 |icon:check[]
 |icon:check[]
 |icon:check[]
 
-|java.lang.Long
+|java.time.MonthDay
 |icon:check[]
 |icon:check[]
 |icon:check[]
 
-|java.lang.Short
+|java.time.YearMonth
 |icon:check[]
 |icon:check[]
 |icon:check[]
 
-|java.lang.Boolean[]
-|icon:times[]
+|java.time.Year
+|icon:check[]
+|icon:check[]
 |icon:check[]
-|icon:times[]
 
-|java.lang.Byte[]
-|icon:times[]
+|java.time.Period
+|icon:check[]
+|icon:check[]
 |icon:check[]
-|icon:times[]
 
-|java.lang.Character[]
-|icon:times[]
+|java.time.Instant
+|icon:check[]
+|icon:check[]
 |icon:check[]
-|icon:times[]
 
-|java.lang.Double[]
-|icon:times[]
+|java.time.Duration
+|icon:check[]
+|icon:check[]
 |icon:check[]
-|icon:times[]
 
-|java.lang.Float[]
+|java.time.ZoneId
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.time.ZoneOffset
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|java.time.ZonedDateTime
+|icon:check[]
+|icon:check[]
+|icon:check[]
+
+|===
+
+==== Collection/Map Types
+
+The following "container" types are supported by default by the JDO spec, subject to the JDO implementation supporting that feature.
+
+[cols="4,1,2,1",options="header",]
+|===
+|Java Type 
+|DFG? 
+|Persistent? 
+|PK?
+
+|java.util.ArrayList
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.lang.Integer[]
+|java.util.Collection
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.lang.Long[]
+|java.util.HashMap
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.lang.Short[]
+|java.util.HashSet
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.lang.Number
-|icon:check[]
+|java.util.Hashtable
+|icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.lang.Object
-|icon:times[]
+|java.util.LinkedHashMap
 |icon:times[]
+|icon:check[]
 |icon:times[]
 
-|java.lang.String
-|icon:check[]
-|icon:check[]
+|java.util.LinkedHashSet
+|icon:times[]
 |icon:check[]
+|icon:times[]
 
-|java.lang.String[]
+|java.util.LinkedList
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.math.BigDecimal
-|icon:check[]
+|java.util.List
+|icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.math.BigInteger
-|icon:check[]
-|icon:check[]
+|java.util.Map
+|icon:times[]
 |icon:check[]
+|icon:times[]
 
-|java.math.BigDecimal[]
+|java.util.Set
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.math.BigInteger[]
+|java.util.TreeMap
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.sql.Date
-|icon:times[]
+|java.util.TreeSet
 |icon:times[]
 |icon:check[]
-
-|java.sql.Time
 |icon:times[]
+
+|java.util.Vector
 |icon:times[]
 |icon:check[]
-
-|java.sql.Timestamp
 |icon:times[]
+
+|===
+
+==== Array Types
+
+The vast majority of the "simple" SCO types can also be persisted as arrays of that type as well.
+
+[cols="4,1,2,1",options="header",]
+|===
+|Java Type 
+|DFG? 
+|Persistent? 
+|PK?
+
+|boolean[]
 |icon:times[]
 |icon:check[]
+|icon:times[]
 
-|java.util.ArrayList
+|byte[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Collection
+|char[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Currency
+|double[]
 |icon:times[]
 |icon:check[]
-|icon:check[]
+|icon:times[]
 
-|java.util.Date
-|icon:check[]
-|icon:check[]
+|float[]
+|icon:times[]
 |icon:check[]
+|icon:times[]
 
-|java.util.Date[]
+|int[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.HashMap
+|long[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.HashSet
+|short[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Hashtable
+|java.lang.Boolean[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.LinkedHashMap
+|java.lang.Byte[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.LinkedHashSet
+|java.lang.Character[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.LinkedList
+|java.lang.Double[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.List
+|java.lang.Float[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Locale
+|java.lang.Integer[]
 |icon:times[]
 |icon:check[]
-|icon:check[]
+|icon:times[]
 
-|java.util.Locale[]
+|java.lang.Long[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Map
+|java.lang.Short[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Set
+|java.lang.String[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.TreeMap
+|java.math.BigDecimal[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.TreeSet
+|java.math.BigInteger[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.util.Vector
+|java.util.Date[]
 |icon:times[]
 |icon:check[]
 |icon:times[]
 
-|java.io.Serializable
-|icon:times[]
+|java.util.Locale[]
 |icon:times[]
+|icon:check[]
 |icon:times[]
 
-|javax.jdo.spi.PersistenceCapable
-|icon:times[]
+|java.lang.Enum[]
 |icon:times[]
 |icon:check[]
+|icon:times[]
 
 |javax.jdo.spi.PersistenceCapable[]
 |icon:times[]
-|icon:times[]
-|icon:times[]
-
-|java.lang.Enum
-|icon:check[]
-|icon:check[]
 |icon:check[]
-
-|java.lang.Enum[]
 |icon:times[]
-|icon:check[]
-|icon:check[]
 
 |===