package de.duehl.vocabulary.japanese.data.symbol;

import java.util.ArrayList;
import java.util.List;

/**
 * Diese Klasse stellt einige japanische Satzzeichen (in UTF-Zeichen) dar.
 *
 * @version 1.01     2025-05-07
 * @author Christian Dühl
 */

public enum Punctuation {

    OPENING_QUOTE_1("「"),
    CLOSING_QUOTE_1("」"),
    OPENING_QUOTE_2("【"),
    CLOSING_QUOTE_2("】"),
    POINT("。"),
    COMMA("、"),
    NAKAGURU("・"),
    TILDE("～"),

    CHOONPU_1("-"),
    CHOONPU_2("ー"),
    CHOONPU_3("―"),
    CHOONPU_4("ー"),
    CHOONPU_5("―"),

    ODORIJI("々"),
    MONATSDAUER_KA("ヶ"),
    QUESTION_MARK("？"),
    EXKLAMATION_MARK("！"),
    ;

    /** Das Zeichen in UTF-8 Darstellung. */
    private final String character;

    /**
     * Konstruktor.
     *
     * @param character
     *            Das Zeichen in UTF-8 Darstellung.
     */
    private Punctuation(String character) {
        this.character = character;
    }

    /** Getter für das Zeichen in UTF-8 Darstellung. */
    public String getCharacter() {
        return character;
    }

    /** Gibt eine Liste mit den Zeichen der japanische Satzzeichen zurück. */
    public static List<String> getAllPunctuationAsStringList() {
        List<String> punctuationList = new ArrayList<>();

        for (Punctuation punctuation : Punctuation.values()) {
            punctuationList.add(punctuation.getCharacter());
        }

        return punctuationList;
    }

}
