Class DefaultModelProblem

  • All Implemented Interfaces:
    ModelProblem

    public class DefaultModelProblem
    extends Object
    implements ModelProblem
    Describes a problem that was encountered during model 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 POM file that exhibits the problem.
    Author:
    Benjamin Bentmann
    • Constructor Detail

      • DefaultModelProblem

        public DefaultModelProblem​(String message,
                                   ModelProblem.Severity severity,
                                   ModelProblem.Version version,
                                   Model 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 ModelProblem.Severity.ERROR.
        source - The source of the problem, may be null.
        lineNumber - The one-based index of the line containing the error or -1 if unknown.
        columnNumber - The one-based index of the column containing the error or -1 if unknown.
        exception - The exception that caused this problem, may be null.
      • DefaultModelProblem

        public DefaultModelProblem​(String message,
                                   ModelProblem.Severity severity,
                                   ModelProblem.Version version,
                                   String source,
                                   int lineNumber,
                                   int columnNumber,
                                   String modelId,
                                   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 ModelProblem.Severity.ERROR.
        version - The version since the problem is relevant
        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.
        modelId - The identifier of the model that exhibits the problem, may be null.
        exception - The exception that caused this problem, may be null.
    • Method Detail

      • getSource

        public String getSource()
        Description copied from interface: ModelProblem
        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 a POM was read.
        Specified by:
        getSource in interface ModelProblem
        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: ModelProblem
        Gets the one-based index of the line containing the problem. The line number should refer to some text file that is given by ModelProblem.getSource().
        Specified by:
        getLineNumber in interface ModelProblem
        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: ModelProblem
        Gets the one-based index of the column containing the problem. The column number should refer to some text file that is given by ModelProblem.getSource().
        Specified by:
        getColumnNumber in interface ModelProblem
        Returns:
        The one-based index of the column containing the problem or non-positive value if unknown.
      • getModelId

        public String getModelId()
        Description copied from interface: ModelProblem
        Gets the identifier of the model from which the problem originated. While the general form of this identifier is groupId:artifactId:version the returned identifier need not be complete. The identifier is derived from the information that is available at the point the problem occurs and as such merely serves as a best effort to provide information to the user to track the problem back to its origin.
        Specified by:
        getModelId in interface ModelProblem
        Returns:
        The identifier of the model from which the problem originated or an empty string if unknown, never null.
      • getException

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

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