summaryrefslogtreecommitdiffstats
path: root/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@oath.com>2018-08-09 10:27:43 +0200
committerArnstein Ressem <aressem@oath.com>2018-08-09 10:27:43 +0200
commit6d61753ac389a884430be9e2eb9bbbd216ea4db5 (patch)
tree9a1b00c5ac40a0c0ea9d822658e225c90adab84b /linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java
parentb80a8292c21e0c0dd678024928077e3e268de789 (diff)
parente2887cb7299438c02bc49d888aaaf2e51631ace9 (diff)
Merge branch 'master' into aressem/kill-mbuild
Diffstat (limited to 'linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java')
-rw-r--r--linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java31
1 files changed, 26 insertions, 5 deletions
diff --git a/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java b/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java
index ad855a18088..cdfd5b4cb58 100644
--- a/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java
+++ b/linguistics/src/main/java/com/yahoo/language/simple/SimpleLinguistics.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.language.simple;
+import com.google.inject.Inject;
import com.yahoo.collections.Tuple2;
import com.yahoo.component.Version;
import com.yahoo.language.Linguistics;
@@ -19,15 +20,35 @@ import com.yahoo.language.process.Transformer;
* Factory of pure Java linguistic processor implementations.
*
* @author bratseth
+ * @author bjorncs
*/
public class SimpleLinguistics implements Linguistics {
// Threadsafe instances
- private final static Normalizer normalizer = new SimpleNormalizer();
- private final static Transformer transformer = new SimpleTransformer();
- private final static Detector detector = new SimpleDetector();
- private final static CharacterClasses characterClasses = new CharacterClasses();
- private final static GramSplitter gramSplitter = new GramSplitter(characterClasses);
+ private final Normalizer normalizer;
+ private final Transformer transformer;
+ private final Detector detector;
+ private final CharacterClasses characterClasses;
+ private final GramSplitter gramSplitter;
+
+ @Inject
+ public SimpleLinguistics() {
+ CharacterClasses characterClasses = new CharacterClasses();
+ this.normalizer = new SimpleNormalizer();
+ this.transformer = new SimpleTransformer();
+ this.detector = new SimpleDetector();
+ this.characterClasses = new CharacterClasses();
+ this.gramSplitter = new GramSplitter(characterClasses);
+ }
+
+ public SimpleLinguistics(SimpleLinguisticsConfig config) {
+ CharacterClasses characterClasses = new CharacterClasses();
+ this.normalizer = new SimpleNormalizer();
+ this.transformer = new SimpleTransformer();
+ this.detector = new SimpleDetector(config.detector());
+ this.characterClasses = new CharacterClasses();
+ this.gramSplitter = new GramSplitter(characterClasses);
+ }
@Override
public Stemmer getStemmer() { return new StemmerImpl(getTokenizer()); }