# ProblemId

@Incubating
abstract class 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)))

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.13

#### See also

ProblemDefinition

## Functions

create
Link copied to clipboard
open fun create(name: String, displayName: String, group: ProblemGroup): ProblemId
Creates a new problem id.
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
The parent group.
getName
Link copied to clipboard
abstract fun getName(): String
The name of the problem.