diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaBaseEnumeratedConverter.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaBaseEnumeratedConverter.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaBaseEnumeratedConverter.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaBaseEnumeratedConverter.java index 6a2cfad22b..d36e13e17a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaBaseEnumeratedConverter.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaBaseEnumeratedConverter.java @@ -9,7 +9,12 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.core.context.java; +import org.eclipse.jpt.common.core.resource.java.Annotation; +import org.eclipse.jpt.jpa.core.JpaFactory; import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter; +import org.eclipse.jpt.jpa.core.context.Converter; +import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapKeyEnumerated2_0Annotation; +import org.eclipse.jpt.jpa.core.resource.java.EnumeratedAnnotation; /** * Java enumerated/map key enumerated converter @@ -24,4 +29,60 @@ public interface JavaBaseEnumeratedConverter extends BaseEnumeratedConverter, JavaConverter { // combine interfaces + + // ********** enumerated adapter ********** + + public static class BasicAdapter + extends JavaConverter.AbstractAdapter + { + private static final BasicAdapter INSTANCE = new BasicAdapter(); + public static BasicAdapter instance() { + return INSTANCE; + } + + private BasicAdapter() { + super(); + } + + public Class<? extends Converter> getConverterType() { + return BaseEnumeratedConverter.class; + } + + @Override + protected String getAnnotationName() { + return EnumeratedAnnotation.ANNOTATION_NAME; + } + + public JavaConverter buildConverter(Annotation converterAnnotation, JavaAttributeMapping parent, JpaFactory factory) { + return factory.buildJavaBaseEnumeratedConverter(parent, (EnumeratedAnnotation) converterAnnotation, this.buildOwner()); + } + } + + // ********** map key enumerated adapter ********** + + public static class MapKeyAdapter + extends JavaConverter.AbstractAdapter + { + private static final MapKeyAdapter INSTANCE = new MapKeyAdapter(); + public static MapKeyAdapter instance() { + return INSTANCE; + } + + private MapKeyAdapter() { + super(); + } + + public Class<? extends Converter> getConverterType() { + return BaseEnumeratedConverter.class; + } + + @Override + protected String getAnnotationName() { + return MapKeyEnumerated2_0Annotation.ANNOTATION_NAME; + } + + public JavaConverter buildConverter(Annotation converterAnnotation, JavaAttributeMapping parent, JpaFactory factory) { + return factory.buildJavaBaseEnumeratedConverter(parent, (MapKeyEnumerated2_0Annotation) converterAnnotation, this.buildOwner()); + } + } } |