net.ajaest.jdk.tools.adders
Class TreeBuilder

java.lang.Object
  extended by net.ajaest.jdk.tools.adders.TreeBuilder

public class TreeBuilder
extends java.lang.Object


Constructor Summary
TreeBuilder()
           
 
Method Summary
static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiClassicRadicalTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiDeRooCodeTree(java.util.Set<Kanji> kanjis)
           
static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiDicNameTree(java.util.Set<Kanji> kanjis)
           
static java.util.TreeMap<java.lang.Integer,java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>>> buildKanjiDicReferenceTree(java.util.Set<Kanji> kanjis)
          [Dic_ref(any)] -> [Map[[Dic_name->Dic_ref(Dic_name)]

To get a concrete dictionary reference list(many dictionaries has more than one reference per index: map.get(reference):

Collection<Integer> indexList = map.get(index).get(dicName)

To get all the references no matter the dic

Collection<Integer> indexList = CollectionsExtra.plainToList(map.get(index).values)

To get a sorted dic's reference list

List<Integer> refList;
for(HashMap<Integer> refs : map.values())
      reflist.addAll(refs.get(dicName);//be careful with null maps!
static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiFourCornerCodeTree(java.util.Set<Kanji> kanjis)
           
static java.util.TreeMap<java.lang.Integer,java.lang.Integer> buildKanjiFrequencyTreeSet(java.util.Set<Kanji> kanjis)
           
static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiGradeTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<AllowedStrokeLineEnum,java.lang.Integer> buildKanjiGraphTree(java.util.Set<Kanji> kanjis)
           
static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiJisCharset(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Integer,java.lang.Integer> buildKanjiJisCodeTree(java.util.Set<Kanji> kanjis)
           
static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiJLPTLevelTree(java.util.Set<Kanji> kanjis)
           
static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiMeaningLangTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiMeaningTree(java.util.Set<Kanji> kanjis)
          Search a meaning in any language(always lowercase):

List<Integer> refs = tree.search("meaning");

Search a meaning in the language ES(always in iso639.1 and lowecase)

List<Integer> refs = tree.search("meaning" + "#es");

static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiNelsonRadicalTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiReadingTree(java.util.Set<Kanji> kanjis)
          Search reading of any reading type:

List<Integer> refs = tree.search("reading");

Search a reading of a particual reading type:

List<Integer> refs = tree.search("reading" + "#readingtype");

static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiReadingTypeTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Integer,java.lang.Integer> buildKanjiSKIPCodeTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiSpahnHadamitzkyCodeTree(java.util.Set<Kanji> kanjis)
           
static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiStrokeCountTree(java.util.Set<Kanji> kanjis)
           
static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiStrokeMiscountsTree(java.util.Set<Kanji> kanjis)
           
static java.util.TreeSet<java.lang.Integer> buildKanjiUnicodeTree(java.util.Set<Kanji> kanjis)
           
static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiVariantTree(java.util.Set<Kanji> kanjis)
          Search variant of any variant type:

List<Integer> refs = tree.search("variant");

Search a variant of a particular variant type:

List<Integer> refs = tree.search("variant" + "#variantType");

static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiVariantTypeTree(java.util.Set<Kanji> kanjis)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeBuilder

public TreeBuilder()
Method Detail

buildKanjiGraphTree

public static SequenceTree<AllowedStrokeLineEnum,java.lang.Integer> buildKanjiGraphTree(java.util.Set<Kanji> kanjis)
                                                                                 throws java.io.IOException
Throws:
java.io.IOException

buildKanjiUnicodeTree

public static java.util.TreeSet<java.lang.Integer> buildKanjiUnicodeTree(java.util.Set<Kanji> kanjis)

buildKanjiJisCodeTree

public static SequenceTree<java.lang.Integer,java.lang.Integer> buildKanjiJisCodeTree(java.util.Set<Kanji> kanjis)

buildKanjiJisCharset

public static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiJisCharset(java.util.Set<Kanji> kanjis)

buildKanjiClassicRadicalTree

public static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiClassicRadicalTree(java.util.Set<Kanji> kanjis)

buildKanjiNelsonRadicalTree

public static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiNelsonRadicalTree(java.util.Set<Kanji> kanjis)

buildKanjiGradeTree

public static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiGradeTree(java.util.Set<Kanji> kanjis)

buildKanjiStrokeCountTree

public static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiStrokeCountTree(java.util.Set<Kanji> kanjis)

buildKanjiStrokeMiscountsTree

public static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiStrokeMiscountsTree(java.util.Set<Kanji> kanjis)

buildKanjiVariantTree

public static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiVariantTree(java.util.Set<Kanji> kanjis)
Search variant of any variant type:

List<Integer> refs = tree.search("variant");

Search a variant of a particular variant type:

List<Integer> refs = tree.search("variant" + "#variantType");


buildKanjiVariantTypeTree

public static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiVariantTypeTree(java.util.Set<Kanji> kanjis)

buildKanjiFrequencyTreeSet

public static java.util.TreeMap<java.lang.Integer,java.lang.Integer> buildKanjiFrequencyTreeSet(java.util.Set<Kanji> kanjis)

buildKanjiJLPTLevelTree

public static java.util.TreeMap<java.lang.Integer,java.util.Set<java.lang.Integer>> buildKanjiJLPTLevelTree(java.util.Set<Kanji> kanjis)

buildKanjiDicNameTree

public static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiDicNameTree(java.util.Set<Kanji> kanjis)

buildKanjiDicReferenceTree

public static java.util.TreeMap<java.lang.Integer,java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>>> buildKanjiDicReferenceTree(java.util.Set<Kanji> kanjis)
[Dic_ref(any)] -> [Map[[Dic_name->Dic_ref(Dic_name)]

To get a concrete dictionary reference list(many dictionaries has more than one reference per index: map.get(reference):

Collection<Integer> indexList = map.get(index).get(dicName)

To get all the references no matter the dic

Collection<Integer> indexList = CollectionsExtra.plainToList(map.get(index).values)

To get a sorted dic's reference list

List<Integer> refList;
for(HashMap<Integer> refs : map.values())
      reflist.addAll(refs.get(dicName);//be careful with null maps!


buildKanjiReadingTree

public static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiReadingTree(java.util.Set<Kanji> kanjis)
Search reading of any reading type:

List<Integer> refs = tree.search("reading");

Search a reading of a particual reading type:

List<Integer> refs = tree.search("reading" + "#readingtype");


buildKanjiReadingTypeTree

public static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiReadingTypeTree(java.util.Set<Kanji> kanjis)

buildKanjiMeaningTree

public static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiMeaningTree(java.util.Set<Kanji> kanjis)
Search a meaning in any language(always lowercase):

List<Integer> refs = tree.search("meaning");

Search a meaning in the language ES(always in iso639.1 and lowecase)

List<Integer> refs = tree.search("meaning" + "#es");


buildKanjiMeaningLangTree

public static java.util.HashMap<java.lang.String,java.util.Set<java.lang.Integer>> buildKanjiMeaningLangTree(java.util.Set<Kanji> kanjis)

buildKanjiSKIPCodeTree

public static SequenceTree<java.lang.Integer,java.lang.Integer> buildKanjiSKIPCodeTree(java.util.Set<Kanji> kanjis)

buildKanjiDeRooCodeTree

public static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiDeRooCodeTree(java.util.Set<Kanji> kanjis)

buildKanjiFourCornerCodeTree

public static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiFourCornerCodeTree(java.util.Set<Kanji> kanjis)

buildKanjiSpahnHadamitzkyCodeTree

public static SequenceTree<java.lang.Character,java.lang.Integer> buildKanjiSpahnHadamitzkyCodeTree(java.util.Set<Kanji> kanjis)