Interface ProblemId


@Incubating public interface ProblemId
Represents a unique identifier for a problem definition.

Problem IDs are defined with a name and with group hierarchy. For example, in the domain of Java compilation problems, the id object for unused variable warnings would be:

 ProblemId(name: unused-variable, displayName: Unused Variable, group:
     ProblemGroup(name: java, displayName: Java compilation, parent:
         ProblemGroup(name: compilation, displayName: Compilation, parent: null)))
 
From the name fields a fully qualified name can be inferred: compilation:java:unused-variable. Also, the display names are intended for display on some user interface. Consumers of problem reports can build a tree representation of problems:
 (Problem view)
 Compilation
     Java compilation
         Foo.java#L10: unused variable a
         Foo.java#L20: unused variable b

 
Since:
8.9
  • Method Summary

    Modifier and Type
    Method
    Description
    A human-readable label describing the problem ID.
    Returns the container group.
    The name of the problem.
  • Method Details

    • getName

      String getName()
      The name of the problem.

      Then name should be used categorize to create a fully qualified name and to categorize a set of problems. The name itself does not need to be unique, the uniqueness is determined the name and the group hierarchy.

      The convention for problem names is to use kebab-case (ie lower case with hyphens).

      Since:
      8.9
    • getDisplayName

      String getDisplayName()
      A human-readable label describing the problem ID.

      The display name should be used to present the problem to the user.

      Returns:
      the display name
      Since:
      8.9
    • getGroup

      ProblemGroup getGroup()
      Returns the container group.
      Returns:
      the group
      Since:
      8.9