aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/Problem.java
blob: 7e45cc9873408dedff28be572671f8ed06951c47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.github.javaparser;

import java.util.Optional;

import static com.github.javaparser.utils.Utils.assertNotNull;

/**
 * A problem that was encountered during parsing.
 */
public class Problem {
    private final String message;
    private final Optional<Range> range;
    private final Optional<Throwable> cause;

    Problem(String message, Optional<Range> range, Optional<Throwable> cause) {
        this.message = assertNotNull(message);
        this.range = assertNotNull(range);
        this.cause = assertNotNull(cause);
    }

    @Override
    public String toString() {
        StringBuilder str = new StringBuilder(message);
        range.ifPresent(r -> str.append(" ").append(r));
        return str.toString();
    }

    public String getMessage() {
        return message;
    }

    public Optional<Range> getRange() {
        return range;
    }

    public Optional<Throwable> getCause() {
        return cause;
    }
}