diff --git a/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/AssociationSchema.java b/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/AssociationSchema.java index effe3017a21d2380dbcb0617c1147814ba3193ac..134a9c066d85923d7699294e91413c02940fc652 100644 --- a/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/AssociationSchema.java +++ b/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/AssociationSchema.java @@ -2,7 +2,7 @@ package lc.esp.eo.sdk.schema; public class AssociationSchema extends FieldBearer{ - public AssociationSchema(String type) { - super(type); + public AssociationSchema(String type, boolean isRequired) { + super(type, isRequired); } } diff --git a/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/EOSchema.java b/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/EOSchema.java index b0d7b01ed4baa1c698c89265347da2e39714922e..2e515f2f6d2b611a60684ac40411dfcac8dc1c5e 100644 --- a/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/EOSchema.java +++ b/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/EOSchema.java @@ -1,5 +1,7 @@ package lc.esp.eo.sdk.schema; +import java.util.HashMap; + /** * This class implements a descriptive schema for an {@link lc.esp.eo.sdk.EO}. * @@ -8,13 +10,22 @@ package lc.esp.eo.sdk.schema; */ public class EOSchema extends FieldBearer { + private HashMap<String, AssociationSchema> associations = new HashMap<>(); private final String type; public EOSchema(String type) { - super(type); + super(type, false); this.type = type; } public String getType() { return type; } + + public void putAssociation(AssociationSchema schema) { + associations.put(schema.getType(), schema); + } + + public AssociationSchema getAssociation(String name) { + return associations.get(name); + } } diff --git a/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/FieldBearer.java b/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/FieldBearer.java index f087c73faa5534cf8f3aec1710579036683feb66..ff9d485577df6a3ce5346f57a799e7183fd17c9e 100644 --- a/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/FieldBearer.java +++ b/java/lc-esp-eo-sdk/src/main/java/lc/esp/eo/sdk/schema/FieldBearer.java @@ -13,11 +13,13 @@ import java.util.Set; * @since mk20 */ public abstract class FieldBearer extends TypedObject { + private final boolean isRequired; private final HashMap<String, FieldSchema> fields = new HashMap<>(); - public FieldBearer(String type) { + public FieldBearer(String type, boolean isRequired) { super(type); + this.isRequired = isRequired; } public void putField(FieldSchema field) { @@ -35,4 +37,16 @@ public abstract class FieldBearer extends TypedObject { } return required; } + + public boolean isRequired() { + return isRequired; + } + + @Override + public String toString() { + return "FieldBearer{" + + "isRequired=" + isRequired + + ", fields=" + fields + + '}'; + } }