org.thewonderlemming.c4plantuml.linter.rules.builtin

## Class NoDuplicateRelationshipsListener

- java.lang.Object
- - org.thewonderlemming.c4plantuml.grammars.C4BaseListener
  - - org.thewonderlemming.c4plantuml.linter.rules.builtin.NoDuplicateRelationshipsListener

- All Implemented Interfaces:
    org.antlr.v4.runtime.tree.ParseTreeListener, C4L1ParserListenerDecorator, C4L2ParserListenerDecorator, C4L3ParserListenerDecorator, org.thewonderlemming.c4plantuml.grammars.generated.C4L1ParserListener, org.thewonderlemming.c4plantuml.grammars.generated.C4L2ParserListener, org.thewonderlemming.c4plantuml.grammars.generated.C4L3ParserListener

      public class NoDuplicateRelationshipsListener
      extends C4BaseListener

  An ANTLR 4 `ParseTreeListener` implementation that verifies that relationships are not declared more than once..
  Author:
    thewonderlemming

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NoDuplicateRelationshipsListener(org.thewonderlemming.c4plantuml.commons.Reporter reporter)` Default constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `enterRelationship(org.thewonderlemming.c4plantuml.grammars.generated.C4L1Parser.RelationshipContext ctx)` Collects the relationship definition in a `SourceType.C4_L1` grammar.
    `void` | `enterRelationship(org.thewonderlemming.c4plantuml.grammars.generated.C4L2Parser.RelationshipContext ctx)` Collects the relationship definition in a `SourceType.C4_L2` grammar.
    `void` | `enterRelationship(org.thewonderlemming.c4plantuml.grammars.generated.C4L3Parser.RelationshipContext ctx)` Collects the relationship definition in a `SourceType.C4_L3` grammar.

    - ### Methods inherited from class org.thewonderlemming.c4plantuml.grammars.C4BaseListener

      `enterEveryRule, exitEveryRule, getDecoratedC4L1ParserListener, getDecoratedC4L2ParserListener, getDecoratedC4L3ParserListener, visitErrorNode, visitTerminal`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.thewonderlemming.c4plantuml.grammars.C4L1ParserListenerDecorator

      `enterBoundary, enterCloud, enterComma, enterDiagram, enterEnterprise_boundary, enterFooter, enterInclude, enterL1_title, enterLayout, enterPerson_ext, enterPerson, enterStatement, enterSystem_ext, enterSystem, enterTitle, exitBoundary, exitCloud, exitComma, exitDiagram, exitEnterprise_boundary, exitFooter, exitInclude, exitL1_title, exitLayout, exitPerson_ext, exitPerson, exitRelationship, exitStatement, exitSystem_ext, exitSystem, exitTitle`

    - ### Methods inherited from interface org.thewonderlemming.c4plantuml.grammars.C4L2ParserListenerDecorator

      `enterBoundary, enterCloud, enterComma, enterContainer, enterDiagram, enterEnterprise_boundary, enterFooter, enterInclude, enterL2_title, enterLayout, enterPerson_ext, enterPerson, enterStatement, enterSystem_boundary, enterSystem_ext, enterSystem, enterTitle, exitBoundary, exitCloud, exitComma, exitContainer, exitDiagram, exitEnterprise_boundary, exitFooter, exitInclude, exitL2_title, exitLayout, exitPerson_ext, exitPerson, exitRelationship, exitStatement, exitSystem_boundary, exitSystem_ext, exitSystem, exitTitle`

    - ### Methods inherited from interface org.thewonderlemming.c4plantuml.grammars.C4L3ParserListenerDecorator

      `enterBoundary, enterCloud, enterComma, enterComponent, enterContainer_boundary, enterContainer, enterDiagram, enterEnterprise_boundary, enterFooter, enterInclude, enterL3_title, enterLayout, enterPerson_ext, enterPerson, enterStatement, enterSystem_ext, enterSystem, enterTitle, exitBoundary, exitCloud, exitComma, exitComponent, exitContainer_boundary, exitContainer, exitDiagram, exitEnterprise_boundary, exitFooter, exitInclude, exitL3_title, exitLayout, exitPerson_ext, exitPerson, exitRelationship, exitStatement, exitSystem_ext, exitSystem, exitTitle`

- - ### Constructor Detail

    - #### NoDuplicateRelationshipsListener

          public NoDuplicateRelationshipsListener(org.thewonderlemming.c4plantuml.commons.Reporter reporter)

      Default constructor.
      Parameters:
        `reporter` - `Reporter` instance to report to.

  - ### Method Detail

    - #### enterRelationship

          public void enterRelationship(org.thewonderlemming.c4plantuml.grammars.generated.C4L1Parser.RelationshipContext ctx)

      Collects the relationship definition in a `SourceType.C4_L1` grammar.

      Enter a parse tree produced by `C4L1Parser.relationship()`.

      Parameters:
        `ctx` - the parse tree

    - #### enterRelationship

          public void enterRelationship(org.thewonderlemming.c4plantuml.grammars.generated.C4L2Parser.RelationshipContext ctx)

      Collects the relationship definition in a `SourceType.C4_L2` grammar.

      Enter a parse tree produced by `C4L2Parser.relationship()`.

      Parameters:
        `ctx` - the parse tree

    - #### enterRelationship

          public void enterRelationship(org.thewonderlemming.c4plantuml.grammars.generated.C4L3Parser.RelationshipContext ctx)

      Collects the relationship definition in a `SourceType.C4_L3` grammar.

      Enter a parse tree produced by `C4L3Parser.relationship()`.

      Parameters:
        `ctx` - the parse tree

Copyright © 2020. All rights reserved.