// Copyright 2012 Google Inc. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.hughes.android.dictionary.parser.wiktionary; import java.util.List; import java.util.Map; import com.hughes.android.dictionary.parser.WikiTokenizer; import com.hughes.android.dictionary.parser.wiktionary.AbstractWiktionaryParser.AppendAndIndexWikiCallback; import com.hughes.android.dictionary.parser.wiktionary.AbstractWiktionaryParser.NameAndArgs; class DeFunctionCallbacks { static void addGenericCallbacks(Map> callbacks) { FunctionCallback callback = new MakeHeadingFromName<>("===="); callbacks.put("Aussprache", callback); callbacks.put("Worttrennung", callback); callbacks.put("Bedeutungen", callback); callbacks.put("Herkunft", callback); callbacks.put("Synonyme", callback); callbacks.put("Gegenwörter", callback); callbacks.put("Verkleinerungsformen", callback); callbacks.put("Oberbegriffe", callback); callbacks.put("Unterbegriffe", callback); callbacks.put("Beispiele", callback); callbacks.put("Redewendungen", callback); callbacks.put("Charakteristische Wortkombinationen", callback); callbacks.put("Abgeleitete Begriffe", callback); callbacks.put("Übersetzungen", callback); callbacks.put("Referenzen", callback); callbacks.put("Grammatische Merkmale", callback); callbacks.put("Abkürzungen", callback); // TODO: // {{Anmerkung}} // {{Anmerkungen}} // {{Anmerkung|zum Gebrauch}} } static final NameAndArgs NAME_AND_ARGS = new NameAndArgs<>(); static final class MakeHeadingFromName implements FunctionCallback { final String header; public MakeHeadingFromName(String header) { this.header = header; } @Override public boolean onWikiFunction(final WikiTokenizer wikiTokenizer, final String name, final List args, final Map namedArgs, final T parser, final AppendAndIndexWikiCallback appendAndIndexWikiCallback) { if (!namedArgs.isEmpty() || args.size() != 0) { return false; } //appendAndIndexWikiCallback.builder.append(String.format("<%s>", header)); appendAndIndexWikiCallback.dispatch("\n" + header + name + header, null); //appendAndIndexWikiCallback.builder.append(String.format("\n", header)); return true; } } }