1 // Copyright 2012 Google Inc. All Rights Reserved.
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 package com.hughes.android.dictionary.parser.wiktionary;
17 import com.hughes.android.dictionary.parser.WikiTokenizer;
18 import com.hughes.android.dictionary.parser.wiktionary.AbstractWiktionaryParser.AppendAndIndexWikiCallback;
19 import com.hughes.android.dictionary.parser.wiktionary.AbstractWiktionaryParser.NameAndArgs;
21 import java.util.List;
24 class DeFunctionCallbacks {
26 static <T extends AbstractWiktionaryParser> void addGenericCallbacks(Map<String, FunctionCallback<T>> callbacks) {
27 FunctionCallback<T> callback = new MakeHeadingFromName<T>("====");
28 callbacks.put("Aussprache", callback);
29 callbacks.put("Worttrennung", callback);
30 callbacks.put("Bedeutungen", callback);
31 callbacks.put("Herkunft", callback);
32 callbacks.put("Synonyme", callback);
33 callbacks.put("Gegenwörter", callback);
34 callbacks.put("Verkleinerungsformen", callback);
35 callbacks.put("Oberbegriffe", callback);
36 callbacks.put("Unterbegriffe", callback);
37 callbacks.put("Beispiele", callback);
38 callbacks.put("Redewendungen", callback);
39 callbacks.put("Charakteristische Wortkombinationen", callback);
40 callbacks.put("Abgeleitete Begriffe", callback);
41 callbacks.put("Übersetzungen", callback);
42 callbacks.put("Referenzen", callback);
43 callbacks.put("Grammatische Merkmale", callback);
44 callbacks.put("Abkürzungen", callback);
49 // {{Anmerkung|zum Gebrauch}}
53 static final NameAndArgs<EnParser> NAME_AND_ARGS = new NameAndArgs<EnParser>();
56 static final class MakeHeadingFromName<T extends AbstractWiktionaryParser> implements FunctionCallback<T> {
58 public MakeHeadingFromName(String header) {
63 public boolean onWikiFunction(final WikiTokenizer wikiTokenizer, final String name, final List<String> args,
64 final Map<String, String> namedArgs,
66 final AppendAndIndexWikiCallback<T> appendAndIndexWikiCallback) {
67 if (!namedArgs.isEmpty() || args.size() != 0) {
70 //appendAndIndexWikiCallback.builder.append(String.format("<%s>", header));
71 appendAndIndexWikiCallback.dispatch("\n" + header + name + header, null);
72 //appendAndIndexWikiCallback.builder.append(String.format("</%s>\n", header));