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.java19
1 files changed, 19 insertions, 0 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 07fa769..5a2d221 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,6 +2,10 @@ package io.trygvis.persistence;
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.
*/
@@ -37,6 +41,21 @@ public class FieldMirror {
this.unique = unique;
}
+ public String fieldAccessor(ParameterRef o) {
+ return fieldAccessor(o.name);
+ }
+
+ public String referenceAccessor(ParameterRef o, FieldMirror f) {
+ return f.fieldAccessor(o.name + "." + javaName);
+ }
+
+ private String fieldAccessor(String o) {
+ if (accessorType == FIELD) {
+ return o + "." + javaName;
+ }
+ return o + "." + toGetterName(javaName) + "()";
+ }
+
@Override
public String toString() {
return "FieldMirror{" +