public TRelationshipDefinition build() { return new TRelationshipDefinition(this); } }
@Override public String toString() { return "TRelationshipDefinition{" + "type=" + getType() + ", interfaces=" + getInterfaces() + '}'; }
public TRelationshipDefinition(Builder builder) { this.setType(builder.type); this.setInterfaces(builder.interfaces); }
@Override public R visit(TRelationshipDefinition node, P parameter) { return visitElement(node.getInterfaces(), parameter, "interfaces"); }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof TRelationshipDefinition)) return false; TRelationshipDefinition that = (TRelationshipDefinition) o; return Objects.equals(getType(), that.getType()) && Objects.equals(getInterfaces(), that.getInterfaces()); }
@Nullable public TRelationshipDefinition buildRelationshipDefinition(Object object, Parameter<TRelationshipDefinition> parameter) { if (Objects.isNull(object)) return new TRelationshipDefinition(); if (object instanceof String) return new TRelationshipDefinition.Builder(buildQName(stringValue(object))).build(); if (!validate(TRelationshipDefinition.class, object, parameter)) return null; @SuppressWarnings("unchecked") Map<String, Object> map = (Map<String, Object>) object; return new TRelationshipDefinition.Builder(buildQName(stringValue(map.get("type")))) .setInterfaces(buildMap(map.get("interfaces"), new Parameter<TInterfaceDefinition>(parameter.getContext()).addContext("interfaces") .setValue("TRelationshipDefinition") .setBuilderOO(this::buildInterfaceDefinition) )) .build(); }
@Override public int hashCode() { return Objects.hash(getType(), getInterfaces()); }
public Printer visit(TRelationshipDefinition node, Parameter parameter) { return new Printer(parameter.getIndent()) .printKeyValue("type", node.getType()) .print(printMap("interfaces", node.getInterfaces(), parameter)); }