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 2015/05/31 19:58:18 UTC

svn commit: r1682760 - in /db/jdo/trunk/api/src: java/javax/jdo/annotations/ java/javax/jdo/metadata/ schema/javax/jdo/

Author: andyj
Date: Sun May 31 17:58:18 2015
New Revision: 1682760

URL: http://svn.apache.org/r1682760
Log:
JDO-709 Hopefully final updates to attribute converter specification

Modified:
    db/jdo/trunk/api/src/java/javax/jdo/annotations/Element.java
    db/jdo/trunk/api/src/java/javax/jdo/annotations/Key.java
    db/jdo/trunk/api/src/java/javax/jdo/annotations/Persistent.java
    db/jdo/trunk/api/src/java/javax/jdo/annotations/Value.java
    db/jdo/trunk/api/src/java/javax/jdo/metadata/ElementMetadata.java
    db/jdo/trunk/api/src/java/javax/jdo/metadata/KeyMetadata.java
    db/jdo/trunk/api/src/java/javax/jdo/metadata/MemberMetadata.java
    db/jdo/trunk/api/src/java/javax/jdo/metadata/ValueMetadata.java
    db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.dtd
    db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.xsd

Modified: db/jdo/trunk/api/src/java/javax/jdo/annotations/Element.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/annotations/Element.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/annotations/Element.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/annotations/Element.java Sun May 31 17:58:18 2015
@@ -146,14 +146,15 @@ public @interface Element
 	 * @return The converter class (or NullAttributeConverter if not specified).
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default UseDefault.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class; // TODO Current JDK doesn't allow "default null"
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.
-	 * If the converter is specified on this annotation then this is ignored
+	 * Only has any effect when this is explicitly set to true, when any AttributeConverter specified for this type
+	 * either here or for the class or at the PMF will be ignored and will use the JDO implementation default handling.
 	 * @return Whether PMF attribute conversion is to be disabled.
 	 */
-	boolean disableConversion() default false;
+	boolean useDefaultConversion() default false; // TODO Current JDK doesn't allow "default null"
 
     /** Vendor extensions.
      * @return the vendor extensions

Modified: db/jdo/trunk/api/src/java/javax/jdo/annotations/Key.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/annotations/Key.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/annotations/Key.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/annotations/Key.java Sun May 31 17:58:18 2015
@@ -143,14 +143,15 @@ public @interface Key
 	 * @return Optional converter class for converting this key (when non-PersistenceCapable)
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default UseDefault.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class; // TODO Current JDK doesn't allow "default null"
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.
-	 * If the converter is specified on this annotation then this is ignored
+	 * Only has any effect when this is explicitly set to true, when any AttributeConverter specified for this type
+	 * either here or for the class or at the PMF will be ignored and will use the JDO implementation default handling.
 	 * @return Whether PMF attribute conversion is to be disabled.
 	 */
-	boolean disableConversion() default false;
+	boolean useDefaultConversion() default false; // TODO Current JDK doesn't allow "default null"
 
     /** 
      * Vendor extensions.

Modified: db/jdo/trunk/api/src/java/javax/jdo/annotations/Persistent.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/annotations/Persistent.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/annotations/Persistent.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/annotations/Persistent.java Sun May 31 17:58:18 2015
@@ -220,14 +220,15 @@ public @interface Persistent
 	 *   (or NullAttributeConverter when not specified).
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default UseDefault.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class; // TODO Current JDK doesn't allow "default null"
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.
-	 * If the converter is specified on this annotation then this is ignored
+	 * Only has any effect when this is explicitly set to true, when any AttributeConverter specified for this type
+	 * either here or for the class or at the PMF will be ignored and will use the JDO implementation default handling.
 	 * @return Whether PMF attribute conversion is to be disabled.
 	 */
-	boolean disableConversion() default false;
+	boolean useDefaultConversion() default false; // TODO Current JDK doesn't allow "default null"
 
     /** Vendor extensions for this member. 
      * @return the vendor extensions

Modified: db/jdo/trunk/api/src/java/javax/jdo/annotations/Value.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/annotations/Value.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/annotations/Value.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/annotations/Value.java Sun May 31 17:58:18 2015
@@ -144,14 +144,15 @@ public @interface Value
 	 *    (or NullAttributeConverter when not specified).
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default UseDefault.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class; // TODO Current JDK doesn't allow "default null"
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.
-	 * If the converter is specified on this annotation then this is ignored
+	 * Only has any effect when this is explicitly set to true, when any AttributeConverter specified for this type
+	 * either here or for the class or at the PMF will be ignored and will use the JDO implementation default handling.
 	 * @return Whether PMF attribute conversion is to be disabled.
 	 */
-	boolean disableConversion() default false;
+	boolean useDefaultConversion() default false; // TODO Current JDK doesn't allow "default null"
 
     /** Vendor extensions.
      * @return the vendor extensions

Modified: db/jdo/trunk/api/src/java/javax/jdo/metadata/ElementMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/metadata/ElementMetadata.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/metadata/ElementMetadata.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/metadata/ElementMetadata.java Sun May 31 17:58:18 2015
@@ -156,16 +156,15 @@ public interface ElementMetadata extends
     ElementMetadata setConverter(AttributeConverter<?, ?> conv);
 
     /**
-     * Accessor for whether the PMF defined converter for this element type is disabled.
+     * Accessor for whether any AttributeConverter for this element type is explicitly disabled and should use the implementation default.
      * @return Whether it is disabled
      */
-    boolean getDisableConverter();
+    Boolean getUseDefaultConversion();
 
     /**
-     * Method to enable/disable the PMF defined converter for this member (if present).
-     * If a converter is defined on this metadata element then this flag will be ignored.
-     * @param disable Whether to disable
+     * Method to explicitly set whether to disable use of AttributeConverter for this type (either here, class-level or PMF level).
+     * @param flag Whether to disable
      * @return This metadata
      */
-    ElementMetadata setDisableConverter(boolean disable);
+    ElementMetadata setUseDefaultConversion(Boolean flag);
 }

Modified: db/jdo/trunk/api/src/java/javax/jdo/metadata/KeyMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/metadata/KeyMetadata.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/metadata/KeyMetadata.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/metadata/KeyMetadata.java Sun May 31 17:58:18 2015
@@ -157,16 +157,15 @@ public interface KeyMetadata extends Met
     KeyMetadata setConverter(AttributeConverter<?, ?> conv);
 
     /**
-     * Accessor for whether the PMF defined converter for this key type is disabled.
+     * Accessor for whether any AttributeConverter for this key type is explicitly disabled and should use the implementation default.
      * @return Whether it is disabled
      */
-    boolean getDisableConverter();
+    Boolean getUseDefaultConversion();
 
     /**
-     * Method to enable/disable the PMF defined converter for this member (if present).
-     * If a converter is defined on this metadata element then this flag will be ignored.
-     * @param disable Whether to disable
+     * Method to explicitly set whether to disable use of AttributeConverter for this type (either here, class-level or PMF level).
+     * @param flag Whether to disable
      * @return This metadata
      */
-    KeyMetadata setDisableConverter(boolean disable);
+    KeyMetadata setUseDefaultConversion(Boolean flag);
 }
\ No newline at end of file

Modified: db/jdo/trunk/api/src/java/javax/jdo/metadata/MemberMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/metadata/MemberMetadata.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/metadata/MemberMetadata.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/metadata/MemberMetadata.java Sun May 31 17:58:18 2015
@@ -478,16 +478,15 @@ public interface MemberMetadata extends
     MemberMetadata setConverter(AttributeConverter<?, ?> conv);
 
     /**
-     * Accessor for whether the PMF defined converter for this member type is disabled.
-     * @return Whether it is disabled
+     * Accessor for whether any AttributeConverter for this member type is explicitly disabled and should use the implementation default.
+     * @return Whether it is explicitly disabled
      */
-    boolean getDisableConverter();
+    Boolean getUseDefaultConversion();
 
     /**
-     * Method to enable/disable the PMF defined converter for this member (if present).
-     * If a converter is defined on this metadata element then this flag will be ignored.
-     * @param disable Whether to disable
+     * Method to explicitly set whether to disable use of AttributeConverter for this type (either here, class-level or PMF level).
+     * @param flag Whether to disable
      * @return This metadata
      */
-    MemberMetadata setDisableConverter(boolean disable);
+    MemberMetadata setUseDefaultConversion(Boolean flag);
 }

Modified: db/jdo/trunk/api/src/java/javax/jdo/metadata/ValueMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/metadata/ValueMetadata.java?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/metadata/ValueMetadata.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/metadata/ValueMetadata.java Sun May 31 17:58:18 2015
@@ -150,16 +150,15 @@ public interface ValueMetadata extends M
     ValueMetadata setConverter(AttributeConverter<?, ?> conv);
 
     /**
-     * Accessor for whether the PMF defined converter for this value type is disabled.
+     * Accessor for whether any AttributeConverter for this value type is explicitly disabled and should use the implementation default.
      * @return Whether it is disabled
      */
-    boolean getDisableConverter();
+    Boolean getUseDefaultConversion();
 
     /**
-     * Method to enable/disable the PMF defined converter for this member (if present).
-     * If a converter is defined on this metadata element then this flag will be ignored.
-     * @param disable Whether to disable
+     * Method to explicitly set whether to disable use of AttributeConverter for this type (either here, class-level or PMF level).
+     * @param flag Whether to disable
      * @return This metadata
      */
-    ValueMetadata setDisableConverter(boolean disable);
+    ValueMetadata setUseDefaultConversion(Boolean flag);
 }

Modified: db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.dtd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.dtd?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.dtd (original)
+++ db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.dtd Sun May 31 17:58:18 2015
@@ -40,7 +40,7 @@
 <!ATTLIST interface schema CDATA #IMPLIED>
 <!ATTLIST interface cacheable (true|false) 'true'>
 <!ATTLIST interface serialize-read (true|false) 'false'>
-<!ATTLIST interface disable-all-converters (true|false) 'false'>
+<!ATTLIST interface use-default-conversion (true|false) 'false'>
 
 <!ELEMENT property (extension*, (array|collection|map)?, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
 <!ATTLIST property name CDATA #REQUIRED>
@@ -65,7 +65,7 @@
 <!ATTLIST property field-name CDATA #IMPLIED>
 <!ATTLIST property cacheable (true|false) 'true'>
 <!ATTLIST property converter CDATA #IMPLIED>
-<!ATTLIST property disable-converter (true|false) 'false'>
+<!ATTLIST property use-default-conversion (true|false) 'false'>
 
 <!ELEMENT class (extension*, implements*, datastore-identity?, primary-key?, inheritance?, version?, join*, foreign-key*, index*, unique*, column*, field*, property*, query*, fetch-group*, extension*)>
 <!ATTLIST class name CDATA #REQUIRED>
@@ -81,7 +81,7 @@
 <!ATTLIST class schema CDATA #IMPLIED>
 <!ATTLIST class cacheable (true|false) 'true'>
 <!ATTLIST class serialize-read (true|false) 'false'>
-<!ATTLIST class disable-all-converters (true|false) 'false'>
+<!ATTLIST class use-default-conversion (true|false) 'false'>
 
 <!ELEMENT primary-key (extension*, column*, extension*)>
 <!ATTLIST primary-key name CDATA #IMPLIED>
@@ -152,7 +152,7 @@
 <!ATTLIST field mapped-by CDATA #IMPLIED>
 <!ATTLIST field cacheable (true|false) 'true'>
 <!ATTLIST field converter CDATA #IMPLIED>
-<!ATTLIST field disable-converter (true|false) 'false'>
+<!ATTLIST field use-default-conversion (true|false) 'false'>
 
 <!ELEMENT foreign-key (extension*, (column* | field* | property*), extension*)>
 <!ATTLIST foreign-key table CDATA #IMPLIED>
@@ -187,7 +187,7 @@
 <!ATTLIST key unique (true|false) #IMPLIED>
 <!ATTLIST key mapped-by CDATA #IMPLIED>
 <!ATTLIST key converter CDATA #IMPLIED>
-<!ATTLIST key disable-converter (true|false) 'false'>
+<!ATTLIST key use-default-conversion (true|false) 'false'>
 
 <!ELEMENT value (extension*, embedded?, column*, foreign-key?, index?, unique?, extension*)>
 <!ATTLIST value column CDATA #IMPLIED>
@@ -198,7 +198,7 @@
 <!ATTLIST value unique (true|false) #IMPLIED>
 <!ATTLIST value mapped-by CDATA #IMPLIED>
 <!ATTLIST value converter CDATA #IMPLIED>
-<!ATTLIST value disable-converter (true|false) 'false'>
+<!ATTLIST value use-default-conversion (true|false) 'false'>
 
 <!ELEMENT array (extension*)>
 <!ATTLIST array element-type CDATA #IMPLIED>
@@ -215,7 +215,7 @@
 <!ATTLIST element unique (true|false) #IMPLIED>
 <!ATTLIST element mapped-by CDATA #IMPLIED>
 <!ATTLIST element converter CDATA #IMPLIED>
-<!ATTLIST element disable-converter (true|false) 'false'>
+<!ATTLIST element use-default-conversion (true|false) 'false'>
 
 <!ELEMENT order (extension*, column*, index?, extension*)>
 <!ATTLIST order column CDATA #IMPLIED>

Modified: db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.xsd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.xsd?rev=1682760&r1=1682759&r2=1682760&view=diff
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.xsd (original)
+++ db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_2.xsd Sun May 31 17:58:18 2015
@@ -145,7 +145,7 @@
                 </xs:restriction>
             </xs:simpleType>
         </xs:attribute>
-        <xs:attribute name="disable-all-converters" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -296,7 +296,7 @@
             </xs:simpleType>
         </xs:attribute>
         <xs:attribute name="converter"/>
-        <xs:attribute name="disable-converter" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -400,7 +400,7 @@
                 </xs:restriction>
             </xs:simpleType>
         </xs:attribute>
-        <xs:attribute name="disable-all-converters" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -754,7 +754,7 @@
             </xs:simpleType>
         </xs:attribute>
         <xs:attribute name="converter"/>
-        <xs:attribute name="disable-converter" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -983,7 +983,7 @@
         </xs:attribute>
         <xs:attribute name="mapped-by"/>
         <xs:attribute name="converter"/>
-        <xs:attribute name="disable-converter" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -1057,7 +1057,7 @@
         </xs:attribute>
         <xs:attribute name="mapped-by"/>
         <xs:attribute name="converter"/>
-        <xs:attribute name="disable-converter" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -1101,7 +1101,7 @@
             </xs:simpleType>
         </xs:attribute>
         <xs:attribute name="converter"/>
-        <xs:attribute name="disable-converter" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>
@@ -1175,7 +1175,7 @@
         </xs:attribute>
         <xs:attribute name="mapped-by"/>
         <xs:attribute name="converter"/>
-        <xs:attribute name="disable-converter" default="false">
+        <xs:attribute name="use-default-conversion" default="false">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
                     <xs:enumeration value="true"/>