# ProblemId

@Incubating
interface ProblemId(source)

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)))

Content copied to clipboard
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

Content copied to clipboard

#### Since

8.9

## Functions

getDisplayName
Link copied to clipboard
abstract fun getDisplayName(): String
A human-readable label describing the problem ID.
getGroup
Link copied to clipboard
abstract fun getGroup(): ProblemGroup
Returns the container group.
getName
Link copied to clipboard
abstract fun getName(): String
The name of the problem.