summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java')
-rw-r--r--container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java62
1 files changed, 22 insertions, 40 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java
index f92cc2c..07fa769 100644
--- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java
+++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/FieldMirror.java
@@ -2,14 +2,12 @@ package io.trygvis.persistence;
import io.trygvis.container.compiler.model.TypeRef;
-import static io.trygvis.persistence.FieldMirror.FieldType.PRIMITIVE;
-import static io.trygvis.persistence.FieldMirror.FieldType.REFERENCE;
-
/**
* TODO: a single field might have to be mapped to multiple sql columns.
*/
-public abstract class FieldMirror {
+public class FieldMirror {
public final FieldType fieldType;
+ public final AccessorType accessorType;
public final TypeRef type;
public final String javaName;
public final String sqlName;
@@ -22,8 +20,15 @@ public abstract class FieldMirror {
REFERENCE,
}
- protected FieldMirror(FieldType fieldType, TypeRef type, String javaName, String sqlName, boolean id, boolean notNull, boolean unique) {
+ public enum AccessorType {
+ FIELD,
+ METHOD,
+ }
+
+ public FieldMirror(FieldType fieldType, AccessorType accessorType, TypeRef type, String javaName, String sqlName,
+ boolean id, boolean notNull, boolean unique) {
this.fieldType = fieldType;
+ this.accessorType = accessorType;
this.type = type;
this.javaName = javaName;
this.sqlName = sqlName;
@@ -32,40 +37,17 @@ public abstract class FieldMirror {
this.unique = unique;
}
- public static class PrimitiveFieldMirror extends FieldMirror {
- public PrimitiveFieldMirror(TypeRef typeRef, String javaName, String sqlName, boolean id, boolean notNull, boolean unique) {
- super(PRIMITIVE, typeRef, javaName, sqlName, id, notNull, unique);
- }
-
- @Override
- public String toString() {
- return "PrimitiveFieldMirror{" +
- "type='" + type + '\'' +
- ", javaName='" + javaName + '\'' +
- ", sqlName='" + sqlName + '\'' +
- ", notNull=" + notNull +
- ", unique=" + unique +
- '}';
- }
- }
-
- public static class ReferenceFieldMirror extends FieldMirror {
- public ReferenceFieldMirror(TypeRef typeRef, String javaName, String sqlName, boolean notNull, boolean unique) {
- super(REFERENCE, typeRef, javaName, sqlName, false, notNull, unique);
- }
-
- @Override
- public String toString() {
- return "ReferenceFieldMirror{" +
- "type='" + type + '\'' +
- ", javaName='" + javaName + '\'' +
- ", sqlName='" + sqlName + '\'' +
- ", notNull=" + notNull +
- ", unique=" + unique +
- '}';
- }
- }
-
@Override
- public abstract String toString();
+ public String toString() {
+ return "FieldMirror{" +
+ "fieldType=" + fieldType +
+ ", accessorType=" + accessorType +
+ ", type=" + type +
+ ", javaName='" + javaName + '\'' +
+ ", sqlName='" + sqlName + '\'' +
+ ", id=" + id +
+ ", notNull=" + notNull +
+ ", unique=" + unique +
+ '}';
+ }
}