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.java24
1 files changed, 16 insertions, 8 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 5a2d221..dd759ef 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
@@ -4,14 +4,14 @@ import io.trygvis.container.compiler.model.TypeRef;
import static io.trygvis.container.compiler.Utils.toGetterName;
import static io.trygvis.container.compiler.model.Parameters.ParameterRef;
-import static io.trygvis.persistence.FieldMirror.AccessorType.FIELD;
/**
* TODO: a single field might have to be mapped to multiple sql columns.
*/
public class FieldMirror {
public final FieldType fieldType;
- public final AccessorType accessorType;
+ public final SetterType setterType;
+ public final GetterType getterType;
public final TypeRef type;
public final String javaName;
public final String sqlName;
@@ -24,15 +24,22 @@ public class FieldMirror {
REFERENCE,
}
- public enum AccessorType {
+ public enum SetterType {
+ CONSTRUCTOR,
FIELD,
METHOD,
}
- public FieldMirror(FieldType fieldType, AccessorType accessorType, TypeRef type, String javaName, String sqlName,
- boolean id, boolean notNull, boolean unique) {
+ public enum GetterType {
+ FIELD,
+ METHOD,
+ }
+
+ public FieldMirror(FieldType fieldType, SetterType setterType, GetterType getterType, TypeRef type, String javaName,
+ String sqlName, boolean id, boolean notNull, boolean unique) {
this.fieldType = fieldType;
- this.accessorType = accessorType;
+ this.setterType = setterType;
+ this.getterType = getterType;
this.type = type;
this.javaName = javaName;
this.sqlName = sqlName;
@@ -50,7 +57,7 @@ public class FieldMirror {
}
private String fieldAccessor(String o) {
- if (accessorType == FIELD) {
+ if (getterType == GetterType.FIELD) {
return o + "." + javaName;
}
return o + "." + toGetterName(javaName) + "()";
@@ -60,7 +67,8 @@ public class FieldMirror {
public String toString() {
return "FieldMirror{" +
"fieldType=" + fieldType +
- ", accessorType=" + accessorType +
+ ", setterType=" + setterType +
+ ", getterType=" + getterType +
", type=" + type +
", javaName='" + javaName + '\'' +
", sqlName='" + sqlName + '\'' +