当前位置: 首页>>代码示例>>Java>>正文


Java LanguageSet类代码示例

本文整理汇总了Java中org.apache.commons.codec.language.bm.Languages.LanguageSet的典型用法代码示例。如果您正苦于以下问题:Java LanguageSet类的具体用法?Java LanguageSet怎么用?Java LanguageSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


LanguageSet类属于org.apache.commons.codec.language.bm.Languages包,在下文中一共展示了LanguageSet类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: create

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
@Override
public TokenStream create(TokenStream tokenStream) {
    if (encoder == null) {
        if (ruletype != null && nametype != null) {
            if (languageset != null) {
                final LanguageSet languages = LanguageSet.from(new HashSet<>(Arrays.asList(languageset)));
                return new BeiderMorseFilter(tokenStream, new PhoneticEngine(nametype, ruletype, true), languages);
            }
            return new BeiderMorseFilter(tokenStream, new PhoneticEngine(nametype, ruletype, true));
        }
        if (maxcodelength > 0) {
            return new DoubleMetaphoneFilter(tokenStream, maxcodelength, !replace);
        }
    } else {
        return new PhoneticFilter(tokenStream, encoder, !replace);
    }
    throw new IllegalArgumentException("encoder error");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:19,代码来源:PhoneticTokenFilterFactory.java

示例2: apply

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
/**
 * Applies the given phoneme expression to all phonemes in this phoneme builder.
 * <p>
 * This will lengthen phonemes that have compatible language sets to the expression, and drop those that are
 * incompatible.
 *
 * @param phonemeExpr   the expression to apply
 * @param maxPhonemes   the maximum number of phonemes to build up
 */
public void apply(final Rule.PhonemeExpr phonemeExpr, final int maxPhonemes) {
    final Set<Rule.Phoneme> newPhonemes = new LinkedHashSet<Rule.Phoneme>(maxPhonemes);

    EXPR: for (final Rule.Phoneme left : this.phonemes) {
        for (final Rule.Phoneme right : phonemeExpr.getPhonemes()) {
            final LanguageSet languages = left.getLanguages().restrictTo(right.getLanguages());
            if (!languages.isEmpty()) {
                final Rule.Phoneme join = new Phoneme(left, right, languages);
                if (newPhonemes.size() < maxPhonemes) {
                    newPhonemes.add(join);
                    if (newPhonemes.size() >= maxPhonemes) {
                        break EXPR;
                    }
                }
            }
        }
    }

    this.phonemes.clear();
    this.phonemes.addAll(newPhonemes);
}
 
开发者ID:HTBridge,项目名称:pivaa,代码行数:31,代码来源:PhoneticEngine.java

示例3: apply

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public void apply(PhonemeExpr phonemeExpr, int maxPhonemes) {
    Set<Phoneme> newPhonemes = new LinkedHashSet(maxPhonemes);
    loop0:
    for (Phoneme left : this.phonemes) {
        for (Phoneme right : phonemeExpr.getPhonemes()) {
            LanguageSet languages = left.getLanguages().restrictTo(right.getLanguages());
            if (!languages.isEmpty()) {
                Phoneme join = new Phoneme(left, right, languages);
                if (newPhonemes.size() < maxPhonemes) {
                    newPhonemes.add(join);
                    if (newPhonemes.size() >= maxPhonemes) {
                        break loop0;
                    }
                } else {
                    continue;
                }
            }
        }
    }
    this.phonemes.clear();
    this.phonemes.addAll(newPhonemes);
}
 
开发者ID:Qwaz,项目名称:solved-hacking-problem,代码行数:23,代码来源:PhoneticEngine.java

示例4: BeiderMorseFilterFactory

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
/** Creates a new BeiderMorseFilterFactory */
public BeiderMorseFilterFactory(Map<String,String> args) {
  super(args);
  // PhoneticEngine = NameType + RuleType + concat
  // we use common-codec's defaults: GENERIC + APPROX + true
  NameType nameType = NameType.valueOf(get(args, "nameType", NameType.GENERIC.toString()));
  RuleType ruleType = RuleType.valueOf(get(args, "ruleType", RuleType.APPROX.toString()));
  
  boolean concat = getBoolean(args, "concat", true);
  engine = new PhoneticEngine(nameType, ruleType, concat);
  
  // LanguageSet: defaults to automagic, otherwise a comma-separated list.
  Set<String> langs = getSet(args, "languageSet");
  languageSet = (null == langs || (1 == langs.size() && langs.contains("auto"))) ? null : LanguageSet.from(langs);
  if (!args.isEmpty()) {
    throw new IllegalArgumentException("Unknown parameters: " + args);
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:19,代码来源:BeiderMorseFilterFactory.java

示例5: testLanguageSet

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
/** restrict the output to a set of possible origin languages */
public void testLanguageSet() throws Exception {
  final LanguageSet languages = LanguageSet.from(new HashSet<String>() {{
    add("italian"); add("greek"); add("spanish");
  }});
  Analyzer analyzer = new Analyzer() {
    @Override
    protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
      Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
      return new TokenStreamComponents(tokenizer, 
          new BeiderMorseFilter(tokenizer, 
              new PhoneticEngine(NameType.GENERIC, RuleType.EXACT, true), languages));
    }
  };
  assertAnalyzesTo(analyzer, "Angelo",
      new String[] { "andZelo", "angelo", "anxelo" },
      new int[] { 0, 0, 0, },
      new int[] { 6, 6, 6, },
      new int[] { 1, 0, 0, });
}
 
开发者ID:europeana,项目名称:search,代码行数:21,代码来源:TestBeiderMorseFilter.java

示例6: init

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
@Override
public void init(Map<String,String> args) {
  super.init(args);
  
  // PhoneticEngine = NameType + RuleType + concat
  // we use common-codec's defaults: GENERIC + APPROX + true
  String nameTypeArg = args.get("nameType");
  NameType nameType = (nameTypeArg == null) ? NameType.GENERIC : NameType.valueOf(nameTypeArg);

  String ruleTypeArg = args.get("ruleType");
  RuleType ruleType = (ruleTypeArg == null) ? RuleType.APPROX : RuleType.valueOf(ruleTypeArg);
  
  boolean concat = getBoolean("concat", true);
  engine = new PhoneticEngine(nameType, ruleType, concat);
  
  // LanguageSet: defaults to automagic, otherwise a comma-separated list.
  String languageSetArg = args.get("languageSet");
  if (languageSetArg == null || languageSetArg.equals("auto")) {
    languageSet = null;
  } else {
    languageSet = LanguageSet.from(new HashSet<String>(Arrays.asList(languageSetArg.split(","))));
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:24,代码来源:BeiderMorseFilterFactory.java

示例7: parsePhoneme

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
private static Phoneme parsePhoneme(final String ph) {
    final int open = ph.indexOf("[");
    if (open >= 0) {
        if (!ph.endsWith("]")) {
            throw new IllegalArgumentException("Phoneme expression contains a '[' but does not end in ']'");
        }
        final String before = ph.substring(0, open);
        final String in = ph.substring(open + 1, ph.length() - 1);
        final Set<String> langs = new HashSet<String>(Arrays.asList(in.split("[+]")));

        return new Phoneme(before, Languages.LanguageSet.from(langs));
    }
    return new Phoneme(ph, Languages.ANY_LANGUAGE);
}
 
开发者ID:HTBridge,项目名称:pivaa,代码行数:15,代码来源:Rule.java

示例8: guessLanguages

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public LanguageSet guessLanguages(String input) {
    String text = input.toLowerCase(Locale.ENGLISH);
    Set<String> langs = new HashSet(this.languages.getLanguages());
    for (LangRule rule : this.rules) {
        if (rule.matches(text)) {
            if (rule.acceptOnMatch) {
                langs.retainAll(rule.languages);
            } else {
                langs.removeAll(rule.languages);
            }
        }
    }
    LanguageSet ls = LanguageSet.from(langs);
    return ls.equals(Languages.NO_LANGUAGES) ? Languages.ANY_LANGUAGE : ls;
}
 
开发者ID:Qwaz,项目名称:solved-hacking-problem,代码行数:16,代码来源:Lang.java

示例9: getInstance

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public static List<Rule> getInstance(NameType nameType, RuleType rt, LanguageSet langs) {
    Map<String, List<Rule>> ruleMap = getInstanceMap(nameType, rt, langs);
    List<Rule> allRules = new ArrayList();
    for (List<Rule> rules : ruleMap.values()) {
        allRules.addAll(rules);
    }
    return allRules;
}
 
开发者ID:Qwaz,项目名称:solved-hacking-problem,代码行数:9,代码来源:Rule.java

示例10: parsePhoneme

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
private static Phoneme parsePhoneme(String ph) {
    int open = ph.indexOf("[");
    if (open < 0) {
        return new Phoneme((CharSequence) ph, Languages.ANY_LANGUAGE);
    }
    if (ph.endsWith("]")) {
        return new Phoneme(ph.substring(0, open), LanguageSet.from(new HashSet(Arrays.asList(ph.substring(open + 1, ph.length() - 1).split("[+]")))));
    }
    throw new IllegalArgumentException("Phoneme expression contains a '[' but does not end in ']'");
}
 
开发者ID:Qwaz,项目名称:solved-hacking-problem,代码行数:11,代码来源:Rule.java

示例11: parsePhoneme

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
private static Phoneme parsePhoneme(final String ph) {
    final int open = ph.indexOf("[");
    if (open >= 0) {
        if (!ph.endsWith("]")) {
            throw new IllegalArgumentException("Phoneme expression contains a '[' but does not end in ']'");
        }
        final String before = ph.substring(0, open);
        final String in = ph.substring(open + 1, ph.length() - 1);
        final Set<String> langs = new HashSet<String>(Arrays.asList(in.split("[+]")));

        return new Phoneme(before, Languages.LanguageSet.from(langs));
    } else {
        return new Phoneme(ph, Languages.ANY_LANGUAGE);
    }
}
 
开发者ID:Konloch,项目名称:bytecode-viewer,代码行数:16,代码来源:Rule.java

示例12: Phoneme

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public Phoneme(final CharSequence phonemeText, final Languages.LanguageSet languages) {
    this.phonemeText = new StringBuilder(phonemeText);
    this.languages = languages;
}
 
开发者ID:HTBridge,项目名称:pivaa,代码行数:5,代码来源:Rule.java

示例13: getLanguages

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public Languages.LanguageSet getLanguages() {
    return this.languages;
}
 
开发者ID:HTBridge,项目名称:pivaa,代码行数:4,代码来源:Rule.java

示例14: empty

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public static PhonemeBuilder empty(LanguageSet languages) {
    return new PhonemeBuilder(new Phoneme((CharSequence) "", languages));
}
 
开发者ID:Qwaz,项目名称:solved-hacking-problem,代码行数:4,代码来源:PhoneticEngine.java

示例15: encode

import org.apache.commons.codec.language.bm.Languages.LanguageSet; //导入依赖的package包/类
public String encode(String input, LanguageSet languageSet) {
    Map<String, List<Rule>> rules = Rule.getInstanceMap(this.nameType, RuleType.RULES, languageSet);
    Map<String, List<Rule>> finalRules1 = Rule.getInstanceMap(this.nameType, this.ruleType, "common");
    Map<String, List<Rule>> finalRules2 = Rule.getInstanceMap(this.nameType, this.ruleType, languageSet);
    input = input.toLowerCase(Locale.ENGLISH).replace('-', ' ').trim();
    if (this.nameType == NameType.GENERIC) {
        String remainder;
        if (input.length() < 2 || !input.substring(0, 2).equals("d'")) {
            for (String l : (Set) NAME_PREFIXES.get(this.nameType)) {
                if (input.startsWith(l + " ")) {
                    remainder = input.substring(l.length() + 1);
                    return "(" + encode(remainder) + ")-(" + encode(l + remainder) + ")";
                }
            }
        }
        remainder = input.substring(2);
        return "(" + encode(remainder) + ")-(" + encode("d" + remainder) + ")";
    }
    List<String> words = Arrays.asList(input.split("\\s+"));
    List<String> words2 = new ArrayList();
    switch (this.nameType) {
        case SEPHARDIC:
            for (String aWord : words) {
                String[] parts = aWord.split("'");
                words2.add(parts[parts.length - 1]);
            }
            words2.removeAll((Collection) NAME_PREFIXES.get(this.nameType));
            break;
        case ASHKENAZI:
            words2.addAll(words);
            words2.removeAll((Collection) NAME_PREFIXES.get(this.nameType));
            break;
        case GENERIC:
            words2.addAll(words);
            break;
        default:
            throw new IllegalStateException("Unreachable case: " + this.nameType);
    }
    if (this.concat) {
        input = join(words2, " ");
    } else if (words2.size() == 1) {
        input = (String) words.iterator().next();
    } else {
        StringBuilder result = new StringBuilder();
        for (String word : words2) {
            StringBuilder stringBuilder = result;
            stringBuilder.append("-").append(encode(word));
        }
        return result.substring(1);
    }
    PhonemeBuilder phonemeBuilder = PhonemeBuilder.empty(languageSet);
    int i = 0;
    while (i < input.length()) {
        RulesApplication rulesApplication = new RulesApplication(rules, input, phonemeBuilder, i, this.maxPhonemes).invoke();
        i = rulesApplication.getI();
        phonemeBuilder = rulesApplication.getPhonemeBuilder();
    }
    return applyFinalRules(applyFinalRules(phonemeBuilder, finalRules1), finalRules2).makeString();
}
 
开发者ID:Qwaz,项目名称:solved-hacking-problem,代码行数:60,代码来源:PhoneticEngine.java


注:本文中的org.apache.commons.codec.language.bm.Languages.LanguageSet类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。