Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaTemporalConverter.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaTemporalConverter.java52
1 files changed, 47 insertions, 5 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaTemporalConverter.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaTemporalConverter.java
index 29055561a9..85c41dfb23 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaTemporalConverter.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/java/JavaTemporalConverter.java
@@ -13,6 +13,10 @@ import org.eclipse.jpt.common.core.resource.java.Annotation;
import org.eclipse.jpt.jpa.core.JpaFactory;
import org.eclipse.jpt.jpa.core.context.Converter;
import org.eclipse.jpt.jpa.core.context.TemporalConverter;
+import org.eclipse.jpt.jpa.core.internal.context.JptValidator;
+import org.eclipse.jpt.jpa.core.internal.jpa1.context.ConverterTextRangeResolver;
+import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.JavaElementCollectionTemporalConverterValidator;
+import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.JavaTemporalConverterValidator;
import org.eclipse.jpt.jpa.core.resource.java.TemporalAnnotation;
/**
@@ -29,15 +33,53 @@ public interface JavaTemporalConverter
{
// ********** adapter **********
- public static class Adapter
- extends JavaConverter.AbstractAdapter
+ public static class BasicAdapter extends AbstractAdapter
+ {
+ private static final Adapter INSTANCE = new BasicAdapter();
+ public static Adapter instance() {
+ return INSTANCE;
+ }
+
+ private BasicAdapter() {
+ super();
+ }
+
+ @Override
+ protected Owner buildOwner() {
+ return new Owner() {
+ public JptValidator buildValidator(Converter converter, ConverterTextRangeResolver textRangeResolver) {
+ return new JavaTemporalConverterValidator((TemporalConverter) converter, textRangeResolver);
+ }
+ };
+ }
+ }
+
+ public static class ElementCollectionAdapter extends AbstractAdapter
{
- private static final Adapter INSTANCE = new Adapter();
+ private static final Adapter INSTANCE = new ElementCollectionAdapter();
public static Adapter instance() {
return INSTANCE;
}
+
+ private ElementCollectionAdapter() {
+ super();
+ }
+
+ @Override
+ protected Owner buildOwner() {
+ return new Owner() {
+ public JptValidator buildValidator(Converter converter, ConverterTextRangeResolver textRangeResolver) {
+ return new JavaElementCollectionTemporalConverterValidator((TemporalConverter) converter, textRangeResolver);
+ }
+ };
+ }
+ }
- private Adapter() {
+ abstract static class AbstractAdapter
+ extends JavaConverter.AbstractAdapter
+ {
+
+ AbstractAdapter() {
super();
}
@@ -51,7 +93,7 @@ public interface JavaTemporalConverter
}
public JavaConverter buildConverter(Annotation converterAnnotation, JavaAttributeMapping parent, JpaFactory factory) {
- return factory.buildJavaTemporalConverter(parent, (TemporalAnnotation) converterAnnotation);
+ return factory.buildJavaTemporalConverter(parent, (TemporalAnnotation) converterAnnotation, this.buildOwner());
}
}
}

Back to the top