package it.cavallium.datagen.plugin; import java.util.Map; import java.util.Objects; import java.util.Set; public class SourcesGeneratorConfiguration { public String currentVersion; public Map interfacesData; public Map baseTypesData; public Map> superTypesData; public Map customTypesData; public Map versions; @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SourcesGeneratorConfiguration that = (SourcesGeneratorConfiguration) o; return Objects.equals(currentVersion, that.currentVersion) && Objects.equals(interfacesData, that.interfacesData) && Objects.equals(baseTypesData, that.baseTypesData) && Objects.equals(superTypesData, that.superTypesData) && Objects.equals(customTypesData, that.customTypesData) && Objects.equals(versions, that.versions); } @Override public int hashCode() { int hash = 0; hash += ConfigUtils.hashCode(currentVersion); hash += ConfigUtils.hashCode(interfacesData); hash += ConfigUtils.hashCode(superTypesData); hash += ConfigUtils.hashCode(customTypesData); hash += ConfigUtils.hashCode(versions); return hash; } public DataModel buildDataModel() { return new DataModel(hashCode(), currentVersion, Objects.requireNonNullElse(interfacesData, Map.of()), Objects.requireNonNullElse(baseTypesData, Map.of()), Objects.requireNonNullElse(superTypesData, Map.of()), Objects.requireNonNullElse(customTypesData, Map.of()), Objects.requireNonNullElse(versions, Map.of()) ); } }