package html; abstract class HtmlHeader extends Node { protected boolean onTagOpening(String name) { if(name.equals("BR")) { childNodes.appendChild(new HtmlText("\n")); return false; } setInvalid(); // innerhalb von dürfen nur
Tags vorkommen return false; } protected boolean onTagClosing(String name) { if(name.equals("h" + getLevel())) { // )) { closed = true; // dieser Tag ist komplett abgearbeitet worden. return true; // parsing abbrechen. } setInvalid(); // andere -Tags darf es nicht geben return false; // parsing fortsetzen } protected boolean onTextNode(String text) { childNodes.appendChild(new HtmlText(text)); // Textknoten werden einfach angehängt return false; } // muss den Level der Überschrift zurückgeben und in den Subklassen überladen werden protected abstract int getLevel(); }