package com.github.czyzby.lml.parser.impl.tag;
import com.github.czyzby.lml.parser.LmlParser;
import com.github.czyzby.lml.parser.tag.LmlTag;
/** Utility abstract class for widgets that simply cannot have children and should never have child tags or plain text
* between tags. Throws errors if parser is strict.
*
* @author MJ */
public abstract class AbstractNonParentalActorLmlTag extends AbstractActorLmlTag {
public AbstractNonParentalActorLmlTag(final LmlParser parser, final LmlTag parentTag,
final StringBuilder rawTagData) {
super(parser, parentTag, rawTagData);
}
@Override
protected void handleValidChild(final LmlTag childTag) {
getParser().throwErrorIfStrict(
getTagName() + " tag cannot handle children and should not be parental. Received child tag: "
+ childTag.getTagName() + " with actor: " + childTag.getActor());
}
@Override
protected void handlePlainTextLine(final String plainTextLine) {
getParser().throwErrorIfStrict(getTagName()
+ " tag cannot handle children and should not be parental. Received plain text data between tags that cannot be parsed: "
+ plainTextLine);
}
}