package ch.epfl.scala.bsp4j; import java.util.List; import org.eclipse.lsp4j.jsonrpc.validation.NonNull; import org.eclipse.lsp4j.util.Preconditions; import org.eclipse.xtext.xbase.lib.Pure; import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; @SuppressWarnings("all") public class BspConnectionDetails { @NonNull private String name; @NonNull private List<String> argv; @NonNull private String version; @NonNull private String bspVersion; @NonNull private List<String> languages; public BspConnectionDetails(@NonNull final String name, @NonNull final List<String> argv, final String version, final String bspVersion, final List<String> languages) { this.name = name; this.argv = argv; this.version = version; this.bspVersion = bspVersion; this.languages = languages; } @Pure @NonNull public String getName() { return this.name; } public void setName(@NonNull final String name) { this.name = Preconditions.checkNotNull(name, "name"); } @Pure @NonNull public List<String> getArgv() { return this.argv; } public void setArgv(@NonNull final List<String> argv) { this.argv = Preconditions.checkNotNull(argv, "argv"); } @Pure @NonNull public String getVersion() { return this.version; } public void setVersion(@NonNull final String version) { this.version = Preconditions.checkNotNull(version, "version"); } @Pure @NonNull public String getBspVersion() { return this.bspVersion; } public void setBspVersion(@NonNull final String bspVersion) { this.bspVersion = Preconditions.checkNotNull(bspVersion, "bspVersion"); } @Pure @NonNull public List<String> getLanguages() { return this.languages; } public void setLanguages(@NonNull final List<String> languages) { this.languages = Preconditions.checkNotNull(languages, "languages"); } @Override @Pure public String toString() { ToStringBuilder b = new ToStringBuilder(this); b.add("name", this.name); b.add("argv", this.argv); b.add("version", this.version); b.add("bspVersion", this.bspVersion); b.add("languages", this.languages); return b.toString(); } @Override @Pure public boolean equals(final Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; BspConnectionDetails other = (BspConnectionDetails) obj; if (this.name == null) { if (other.name != null) return false; } else if (!this.name.equals(other.name)) return false; if (this.argv == null) { if (other.argv != null) return false; } else if (!this.argv.equals(other.argv)) return false; if (this.version == null) { if (other.version != null) return false; } else if (!this.version.equals(other.version)) return false; if (this.bspVersion == null) { if (other.bspVersion != null) return false; } else if (!this.bspVersion.equals(other.bspVersion)) return false; if (this.languages == null) { if (other.languages != null) return false; } else if (!this.languages.equals(other.languages)) return false; return true; } @Override @Pure public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((this.name== null) ? 0 : this.name.hashCode()); result = prime * result + ((this.argv== null) ? 0 : this.argv.hashCode()); result = prime * result + ((this.version== null) ? 0 : this.version.hashCode()); result = prime * result + ((this.bspVersion== null) ? 0 : this.bspVersion.hashCode()); return prime * result + ((this.languages== null) ? 0 : this.languages.hashCode()); } }