Package analyzer

Class Comment

java.lang.Object
analyzer.Comment
Direct Known Subclasses:
AvoidBooleanLiteralReturns, AvoidComparisonWithLiteral, AvoidHardCodedTestCases, AvoidIfStatements, AvoidPrintStatements, ConstructorTooLong, DoNotUseMainMethod, ExemplarSolution, FeedbackRequest, MethodTooLong, PreferStringConcatenation, RedundantParentheses, RemoveTodoComments, ReuseCode

public abstract class Comment extends Object
The Comment class models a single comment in the analysis output. Each comment has a unique key that translates to a Markdown template in the exercism/website-copy repository.

If the Markdown template contains any parameters, classes inheriting from Comment should override the getParameters() method to return the parameter keys and values specific to that template.

Override the getType() method to change the Comment.Type associated to the comment.

See Also:
  • Constructor Details

    • Comment

      public Comment()
  • Method Details

    • getKey

      public abstract String getKey()
      The comment key is a String that uniquely identifies the comment.

      Comment keys use the format "java.<scope>.<name>". The <scope> can be either general for general comments, or the slug of the exercise for exercise-specific comments. The <name> specifies the name of the comment.

      The combination of <scope> and <name> must be unique, and defines the location of the Markdown template in the exercism/website-copy repository.

      For example, the comment key "java.hello-world.foo_bar" would translate to the Markdown file at analyzer-comments/java/hello-world/foo_bar.md.

      Returns:
      The unique comment key.
    • getParameters

      public Map<String,String> getParameters()
      Each parameter in the Markdown template should have a corresponding parameter in the comment. Parameters in Markdown templates are of the form %<parameterName>s.

      For example, if the Markdown template contains a parameter %<methodName>s, the implementation of this method could look like this:

      
           public Map<String, String> getParameters() {
               return Map.of("methodName", "theNameOfTheMethod");
           }
       
      Returns:
      The parameters for the comment.
    • getType

      public Comment.Type getType()
      Returns:
      The type of the comment.
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equals

      public boolean equals(Comment other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object