@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof TGroupType)) return false; if (!super.equals(o)) return false; TGroupType that = (TGroupType) o; return Objects.equals(getMembers(), that.getMembers()) && Objects.equals(getRequirements(), that.getRequirements()) && Objects.equals(getCapabilities(), that.getCapabilities()) && Objects.equals(getInterfaces(), that.getInterfaces()); }
@Override public int hashCode() { return Objects.hash(super.hashCode(), getMembers(), getRequirements(), getCapabilities(), getInterfaces()); }
@Override public String toString() { return "TGroupType{" + "members=" + getMembers() + ", requirements=" + getRequirements() + ", capabilities=" + getCapabilities() + ", interfaces=" + getInterfaces() + "} " + super.toString(); }
@Override public R visit(TGroupType node, P parameter) { return reduce(Stream.of( visitMapElement(node.getRequirements(), parameter, "requirements"), visitElement(node.getCapabilities(), parameter, "capabilities"), visitElement(node.getInterfaces(), parameter, "interfaces") )); }
public Printer visit(TGroupType node, Parameter parameter) { return new Printer(parameter.getIndent()) .printKeyValue("members", node.getMembers()) .print(printListMap("requirements", node.getRequirements().stream().map(TMapRequirementDefinition::getMap).collect(Collectors.toList()), parameter)) .print(printMap("capabilities", node.getCapabilities(), parameter)) .print(printMap("interfaces", node.getInterfaces(), parameter)); }