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/30 12:58:32 UTC

svn commit: r1682596 - in /db/jdo/trunk/api/src/java/javax/jdo: AttributeConverter.java annotations/Element.java annotations/Key.java annotations/Persistent.java annotations/Value.java

Author: andyj
Date: Sat May 30 10:58:32 2015
New Revision: 1682596

URL: http://svn.apache.org/r1682596
Log:
JDO-709 Change default annotation converter to "UseDefault" as per JIRA

Modified:
    db/jdo/trunk/api/src/java/javax/jdo/AttributeConverter.java
    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

Modified: db/jdo/trunk/api/src/java/javax/jdo/AttributeConverter.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/AttributeConverter.java?rev=1682596&r1=1682595&r2=1682596&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/AttributeConverter.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/AttributeConverter.java Sat May 30 10:58:32 2015
@@ -44,14 +44,17 @@ public interface AttributeConverter<A, D
      */
     A convertToAttribute(D datastoreValue);
 
-	public static class NullAttributeConverter implements AttributeConverter<Object, Object>
+    /**
+     * Dummy converter to represent "use the implementation default for this type" when using annotations.
+     */
+	public static class UseDefault implements AttributeConverter<Object, Object>
 	{
 		public Object convertToDatastore(Object attributeValue) {
-			return null;
+			throw new JDOUserException("This converter is not usable.");
 		}
 
 		public Object convertToAttribute(Object datastoreValue) {
-			return null;
+			throw new JDOUserException("This converter is not usable.");
 		}
 	}
 }

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=1682596&r1=1682595&r2=1682596&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 Sat May 30 10:58:32 2015
@@ -22,8 +22,7 @@ import java.lang.annotation.RetentionPol
 import java.lang.annotation.Target;
 
 import javax.jdo.AttributeConverter;
-import javax.jdo.AttributeConverter.NullAttributeConverter;
-
+import javax.jdo.AttributeConverter.UseDefault;
 
 /**
  * Annotation for the element of a collection/array relation.
@@ -147,7 +146,7 @@ public @interface Element
 	 * @return The converter class (or NullAttributeConverter if not specified).
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default NullAttributeConverter.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class;
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.

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=1682596&r1=1682595&r2=1682596&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 Sat May 30 10:58:32 2015
@@ -22,8 +22,7 @@ import java.lang.annotation.RetentionPol
 import java.lang.annotation.Target;
 
 import javax.jdo.AttributeConverter;
-import javax.jdo.AttributeConverter.NullAttributeConverter;
-
+import javax.jdo.AttributeConverter.UseDefault;
 
 /**
  * Annotation for the key of a map relation.
@@ -144,7 +143,7 @@ public @interface Key
 	 * @return Optional converter class for converting this key (when non-PersistenceCapable)
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default NullAttributeConverter.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class;
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.

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=1682596&r1=1682595&r2=1682596&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 Sat May 30 10:58:32 2015
@@ -22,7 +22,7 @@ import java.lang.annotation.RetentionPol
 import java.lang.annotation.Target;
 
 import javax.jdo.AttributeConverter;
-import javax.jdo.AttributeConverter.NullAttributeConverter;
+import javax.jdo.AttributeConverter.UseDefault;
 
 /**
  * Annotation for defining the persistence of a member.
@@ -220,7 +220,7 @@ public @interface Persistent
 	 *   (or NullAttributeConverter when not specified).
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default NullAttributeConverter.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class;
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.

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=1682596&r1=1682595&r2=1682596&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 Sat May 30 10:58:32 2015
@@ -22,7 +22,7 @@ import java.lang.annotation.RetentionPol
 import java.lang.annotation.Target;
 
 import javax.jdo.AttributeConverter;
-import javax.jdo.AttributeConverter.NullAttributeConverter;
+import javax.jdo.AttributeConverter.UseDefault;
 
 /**
  * Annotation for the value of a map relation.
@@ -144,7 +144,7 @@ public @interface Value
 	 *    (or NullAttributeConverter when not specified).
 	 */
 	@SuppressWarnings("rawtypes")
-	Class<? extends AttributeConverter> converter() default NullAttributeConverter.class;
+	Class<? extends AttributeConverter> converter() default UseDefault.class;
 
 	/**
 	 * Whether we should disable any converter that was specified as default for this type on the PMF.