Class DefaultSettingsProblem

  • All Implemented Interfaces:
    SettingsProblem

    public class DefaultSettingsProblem
    extends Object
    implements SettingsProblem
    Describes a problem that was encountered during settings building. A problem can either be an exception that was thrown or a simple string message. In addition, a problem carries a hint about its source, e.g. the settings file that exhibits the problem.
    Author:
    Benjamin Bentmann
    • Constructor Detail

      • DefaultSettingsProblem

        public DefaultSettingsProblem​(String message,
                                      SettingsProblem.Severity severity,
                                      String source,
                                      int lineNumber,
                                      int columnNumber,
                                      Exception exception)
        Creates a new problem with the specified message and exception.
        Parameters:
        message - The message describing the problem, may be null.
        severity - The severity level of the problem, may be null to default to SettingsProblem.Severity.ERROR.
        source - A hint about the source of the problem like a file path, may be null.
        lineNumber - The one-based index of the line containing the problem or -1 if unknown.
        columnNumber - The one-based index of the column containing the problem or -1 if unknown.
        exception - The exception that caused this problem, may be null.
    • Method Detail

      • getSource

        public String getSource()
        Description copied from interface: SettingsProblem
        Gets the hint about the source of the problem. While the syntax of this hint is unspecified and depends on the creator of the problem, the general expectation is that the hint provides sufficient information to the user to track the problem back to its origin. A concrete example for such a source hint can be the file path or URL from which the settings were read.
        Specified by:
        getSource in interface SettingsProblem
        Returns:
        The hint about the source of the problem or an empty string if unknown, never null.
      • getLineNumber

        public int getLineNumber()
        Description copied from interface: SettingsProblem
        Gets the one-based index of the line containing the problem. The line number should refer to some text file that is given by SettingsProblem.getSource().
        Specified by:
        getLineNumber in interface SettingsProblem
        Returns:
        The one-based index of the line containing the problem or a non-positive value if unknown.
      • getColumnNumber

        public int getColumnNumber()
        Description copied from interface: SettingsProblem
        Gets the one-based index of the column containing the problem. The column number should refer to some text file that is given by SettingsProblem.getSource().
        Specified by:
        getColumnNumber in interface SettingsProblem
        Returns:
        The one-based index of the column containing the problem or non-positive value if unknown.
      • getException

        public Exception getException()
        Description copied from interface: SettingsProblem
        Gets the exception that caused this problem (if any).
        Specified by:
        getException in interface SettingsProblem
        Returns:
        The exception that caused this problem or null if not applicable.
      • getMessage

        public String getMessage()
        Description copied from interface: SettingsProblem
        Gets the message that describes this problem.
        Specified by:
        getMessage in interface SettingsProblem
        Returns:
        The message describing this problem, never null.