diff options
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.java | 19 |
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{" + |