diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-09-19 22:03:39 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-09-19 22:03:39 +0200 |
commit | 03cca9c42b32d8d4ba24b348f8466de42bb05cd7 (patch) | |
tree | a6348759bf87ddb7cece3e74477067dc3981188a /linguistics | |
parent | 7ccaece3a2d065de9eb5a4cb18bc2f02d908d595 (diff) |
Add 'encode' expression
Diffstat (limited to 'linguistics')
-rw-r--r-- | linguistics/abi-spec.json | 19 | ||||
-rw-r--r-- | linguistics/src/main/java/com/yahoo/language/process/Encoder.java | 17 |
2 files changed, 35 insertions, 1 deletions
diff --git a/linguistics/abi-spec.json b/linguistics/abi-spec.json index e8687b5c9f4..dc7450678c5 100644 --- a/linguistics/abi-spec.json +++ b/linguistics/abi-spec.json @@ -328,6 +328,21 @@ ], "fields": [] }, + "com.yahoo.language.process.Encoder$FailingEncoder": { + "superClass": "java.lang.Object", + "interfaces": [ + "com.yahoo.language.process.Encoder" + ], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>()", + "public java.util.List encode(java.lang.String, com.yahoo.language.Language)", + "public com.yahoo.tensor.Tensor encode(java.lang.String, com.yahoo.language.Language, com.yahoo.tensor.TensorType)" + ], + "fields": [] + }, "com.yahoo.language.process.Encoder": { "superClass": "java.lang.Object", "interfaces": [], @@ -340,7 +355,9 @@ "public abstract java.util.List encode(java.lang.String, com.yahoo.language.Language)", "public abstract com.yahoo.tensor.Tensor encode(java.lang.String, com.yahoo.language.Language, com.yahoo.tensor.TensorType)" ], - "fields": [] + "fields": [ + "public static final com.yahoo.language.process.Encoder throwsOnUse" + ] }, "com.yahoo.language.process.GramSplitter$Gram": { "superClass": "java.lang.Object", diff --git a/linguistics/src/main/java/com/yahoo/language/process/Encoder.java b/linguistics/src/main/java/com/yahoo/language/process/Encoder.java index 91de16f669b..27f73d15e54 100644 --- a/linguistics/src/main/java/com/yahoo/language/process/Encoder.java +++ b/linguistics/src/main/java/com/yahoo/language/process/Encoder.java @@ -14,6 +14,9 @@ import java.util.List; */ public interface Encoder { + /** An instance of this which throws IllegalStateException if attempted used */ + Encoder throwsOnUse = new FailingEncoder(); + /** * Encodes text into tokens in a list of ids. * @@ -36,4 +39,18 @@ public interface Encoder { */ Tensor encode(String text, Language language, TensorType tensorType); + class FailingEncoder implements Encoder { + + @Override + public List<Integer> encode(String text, Language language) { + throw new IllegalStateException("No encoder has been configured"); + } + + @Override + public Tensor encode(String text, Language language, TensorType tensorType) { + throw new IllegalStateException("No encoder has been configured"); + } + + } + } |