Class DefaultProblem

  • All Implemented Interfaces:
    Problem

    class DefaultProblem
    extends java.lang.Object
    implements Problem
    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.
    • Nested Class Summary

    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultProblem​(java.lang.String message, Problem.Severity severity, java.lang.String source, int lineNumber, int columnNumber, java.lang.Exception exception)
      Creates a new problem with the specified message and exception.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getColumnNumber()
      Gets the one-based index of the column containing the problem.
      java.lang.Exception getException()
      Gets the exception that caused this problem (if any).
      int getLineNumber()
      Gets the one-based index of the line containing the problem.
      java.lang.String getLocation()
      Gets the location of the problem.
      java.lang.String getMessage()
      Gets the message that describes this problem.
      Problem.Severity getSeverity()
      Gets the severity level of this problem.
      java.lang.String getSource()
      Gets the hint about the source of the problem.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • source

        private final java.lang.String source
      • lineNumber

        private final int lineNumber
      • columnNumber

        private final int columnNumber
      • message

        private final java.lang.String message
      • exception

        private final java.lang.Exception exception
    • Constructor Detail

      • DefaultProblem

        DefaultProblem​(java.lang.String message,
                       Problem.Severity severity,
                       java.lang.String source,
                       int lineNumber,
                       int columnNumber,
                       java.lang.Exception exception)
        Creates a new problem with the specified message and exception. Either message or exception is required
        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 java.lang.String getSource()
        Description copied from interface: Problem
        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 Problem
        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: Problem
        Gets the one-based index of the line containing the problem. The line number should refer to some text file that is given by Problem.getSource().
        Specified by:
        getLineNumber in interface Problem
        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: Problem
        Gets the one-based index of the column containing the problem. The column number should refer to some text file that is given by Problem.getSource().
        Specified by:
        getColumnNumber in interface Problem
        Returns:
        The one-based index of the column containing the problem or non-positive value if unknown.
      • getException

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

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

        public Problem.Severity getSeverity()
        Description copied from interface: Problem
        Gets the severity level of this problem.
        Specified by:
        getSeverity in interface Problem
        Returns:
        The severity level of this problem, never null.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object