C4L3ParserListenerDecorator.java

package org.thewonderlemming.c4plantuml.grammars;

import org.thewonderlemming.c4plantuml.grammars.generated.C4L3Parser;
import org.thewonderlemming.c4plantuml.grammars.generated.C4L3Parser.FooterContext;
import org.thewonderlemming.c4plantuml.grammars.generated.C4L3ParserListener;

/**
 * A decorator pattern to {@link C4L3ParserListener} using default methods to emulate multiple inheritance amongst
 * classes and allow simple composition of grammars parsers.
 * <p>
 * All the default implementations delegates the work to the decorated object.
 *
 * @author thewonderlemming
 *
 */
public interface C4L3ParserListenerDecorator extends C4L3ParserListener {

    @Override
    default void enterBoundary(final C4L3Parser.BoundaryContext ctx) {
        getDecoratedC4L3ParserListener().enterBoundary(ctx);
    }

    @Override
    default void enterCloud(final C4L3Parser.CloudContext ctx) {
        getDecoratedC4L3ParserListener().enterCloud(ctx);
    }

    @Override
    default void enterComma(final C4L3Parser.CommaContext ctx) {
        getDecoratedC4L3ParserListener().enterComma(ctx);
    }

    @Override
    default void enterComponent(final C4L3Parser.ComponentContext ctx) {
        getDecoratedC4L3ParserListener().enterComponent(ctx);
    }

    @Override
    default void enterContainer(final C4L3Parser.ContainerContext ctx) {
        getDecoratedC4L3ParserListener().enterContainer(ctx);
    }

    @Override
    default void enterContainer_boundary(final C4L3Parser.Container_boundaryContext ctx) {
        getDecoratedC4L3ParserListener().enterContainer_boundary(ctx);
    }

    @Override
    default void enterDiagram(final C4L3Parser.DiagramContext ctx) {
        getDecoratedC4L3ParserListener().enterDiagram(ctx);
    }

    @Override
    default void enterEnterprise_boundary(final C4L3Parser.Enterprise_boundaryContext ctx) {
        getDecoratedC4L3ParserListener().enterEnterprise_boundary(ctx);
    }

    @Override
    default void enterFooter(final FooterContext ctx) {
        getDecoratedC4L3ParserListener().enterFooter(ctx);
    }

    @Override
    default void enterInclude(final C4L3Parser.IncludeContext ctx) {
        getDecoratedC4L3ParserListener().enterInclude(ctx);
    }

    @Override
    default void enterL3_title(final C4L3Parser.L3_titleContext ctx) {
        getDecoratedC4L3ParserListener().enterL3_title(ctx);
    }

    @Override
    default void enterLayout(final C4L3Parser.LayoutContext ctx) {
        getDecoratedC4L3ParserListener().enterLayout(ctx);
    }

    @Override
    default void enterPerson(final C4L3Parser.PersonContext ctx) {
        getDecoratedC4L3ParserListener().enterPerson(ctx);
    }

    @Override
    default void enterPerson_ext(final C4L3Parser.Person_extContext ctx) {
        getDecoratedC4L3ParserListener().enterPerson_ext(ctx);
    }

    @Override
    default void enterRelationship(final C4L3Parser.RelationshipContext ctx) {
        getDecoratedC4L3ParserListener().enterRelationship(ctx);
    }

    @Override
    default void enterStatement(final C4L3Parser.StatementContext ctx) {
        getDecoratedC4L3ParserListener().enterStatement(ctx);
    }

    @Override
    default void enterSystem(final C4L3Parser.SystemContext ctx) {
        getDecoratedC4L3ParserListener().enterSystem(ctx);
    }

    @Override
    default void enterSystem_ext(final C4L3Parser.System_extContext ctx) {
        getDecoratedC4L3ParserListener().enterSystem_ext(ctx);
    }

    @Override
    default void enterTitle(final C4L3Parser.TitleContext ctx) {
        getDecoratedC4L3ParserListener().enterTitle(ctx);
    }

    @Override
    default void exitBoundary(final C4L3Parser.BoundaryContext ctx) {
        getDecoratedC4L3ParserListener().exitBoundary(ctx);
    }

    @Override
    default void exitCloud(final C4L3Parser.CloudContext ctx) {
        getDecoratedC4L3ParserListener().exitCloud(ctx);
    }

    @Override
    default void exitComma(final C4L3Parser.CommaContext ctx) {
        getDecoratedC4L3ParserListener().exitComma(ctx);
    }

    @Override
    default void exitComponent(final C4L3Parser.ComponentContext ctx) {
        getDecoratedC4L3ParserListener().exitComponent(ctx);
    }

    @Override
    default void exitContainer(final C4L3Parser.ContainerContext ctx) {
        getDecoratedC4L3ParserListener().exitContainer(ctx);
    }

    @Override
    default void exitContainer_boundary(final C4L3Parser.Container_boundaryContext ctx) {
        getDecoratedC4L3ParserListener().exitContainer_boundary(ctx);
    }

    @Override
    default void exitDiagram(final C4L3Parser.DiagramContext ctx) {
        getDecoratedC4L3ParserListener().exitDiagram(ctx);
    }

    @Override
    default void exitEnterprise_boundary(final C4L3Parser.Enterprise_boundaryContext ctx) {
        getDecoratedC4L3ParserListener().exitEnterprise_boundary(ctx);
    }

    @Override
    default void exitFooter(final FooterContext ctx) {
        getDecoratedC4L3ParserListener().exitFooter(ctx);
    }

    @Override
    default void exitInclude(final C4L3Parser.IncludeContext ctx) {
        getDecoratedC4L3ParserListener().exitInclude(ctx);
    }

    @Override
    default void exitL3_title(final C4L3Parser.L3_titleContext ctx) {
        getDecoratedC4L3ParserListener().exitL3_title(ctx);
    }

    @Override
    default void exitLayout(final C4L3Parser.LayoutContext ctx) {
        getDecoratedC4L3ParserListener().exitLayout(ctx);
    }

    @Override
    default void exitPerson(final C4L3Parser.PersonContext ctx) {
        getDecoratedC4L3ParserListener().exitPerson(ctx);
    }

    @Override
    default void exitPerson_ext(final C4L3Parser.Person_extContext ctx) {
        getDecoratedC4L3ParserListener().exitPerson_ext(ctx);
    }

    @Override
    default void exitRelationship(final C4L3Parser.RelationshipContext ctx) {
        getDecoratedC4L3ParserListener().exitRelationship(ctx);
    }

    @Override
    default void exitStatement(final C4L3Parser.StatementContext ctx) {
        getDecoratedC4L3ParserListener().exitStatement(ctx);
    }

    @Override
    default void exitSystem(final C4L3Parser.SystemContext ctx) {
        getDecoratedC4L3ParserListener().exitSystem(ctx);
    }

    @Override
    default void exitSystem_ext(final C4L3Parser.System_extContext ctx) {
        getDecoratedC4L3ParserListener().exitSystem_ext(ctx);
    }

    @Override
    default void exitTitle(final C4L3Parser.TitleContext ctx) {
        getDecoratedC4L3ParserListener().exitTitle(ctx);
    }

    /**
     * returns the instance of the {@link C4L3ParserListener} being decorated.
     *
     * @return the decorated {@link C4L3ParserListener}.
     */
    C4L3ParserListener getDecoratedC4L3ParserListener();
}