diff --git a/.gitignore b/.gitignore index 8596d00..b795447 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ benchmarks/output .ci Makefile.main .shared +.idea diff --git a/java/src/main/java/tech/sourced/enry/Enry.java b/java/src/main/java/tech/sourced/enry/Enry.java index a1eaa21..46ad20e 100644 --- a/java/src/main/java/tech/sourced/enry/Enry.java +++ b/java/src/main/java/tech/sourced/enry/Enry.java @@ -5,6 +5,8 @@ import tech.sourced.enry.nativelib.*; import static tech.sourced.enry.GoUtils.*; public class Enry { + public static final Guess unknownLanguage = new Guess("", false); + private static final EnryLibrary nativeLib = EnryLibrary.INSTANCE; /** diff --git a/java/src/main/java/tech/sourced/enry/Guess.java b/java/src/main/java/tech/sourced/enry/Guess.java index ff9fbaa..8cd4b89 100644 --- a/java/src/main/java/tech/sourced/enry/Guess.java +++ b/java/src/main/java/tech/sourced/enry/Guess.java @@ -20,4 +20,32 @@ public class Guess { this.language = language; this.safe = safe; } + + @Override + public String toString() { + return "Guess{" + + "language='" + language + '\'' + ", safe=" + safe + + '}'; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + if (!super.equals(object)) return false; + + Guess guess = (Guess) object; + + if (safe != guess.safe) return false; + if (language != null ? !language.equals(guess.language) : guess.language != null) return false; + + return true; + } + + public int hashCode() { + int result = super.hashCode(); + result = 23 * result + (language != null ? language.hashCode() : 0); + result = 23 * result + (safe ? 1 : 0); + return result; + } }