Class DefaultModelProblem

java.lang.Object
org.apache.maven.internal.impl.model.DefaultModelProblem
All Implemented Interfaces:
BuilderProblem, 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.
  • Constructor Details

    • DefaultModelProblem

      public DefaultModelProblem(String message, BuilderProblem.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 BuilderProblem.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, BuilderProblem.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 BuilderProblem.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 Details

    • getSource

      public String getSource()
      Description copied from interface: BuilderProblem
      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 BuilderProblem
      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: BuilderProblem
      Gets the one-based index of the line containing the problem. The line number should refer to some text file that is given by BuilderProblem.getSource().
      Specified by:
      getLineNumber in interface BuilderProblem
      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: BuilderProblem
      Gets the one-based index of the column containing the problem. The column number should refer to some text file that is given by BuilderProblem.getSource().
      Specified by:
      getColumnNumber in interface BuilderProblem
      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. The identifier is derived from the information that is available at the point the problem occurs and as such merely serves as 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: BuilderProblem
      Gets the exception that caused this problem (if any).
      Specified by:
      getException in interface BuilderProblem
      Returns:
      the exception that caused this problem or null if not applicable
    • getLocation

      public String getLocation()
      Description copied from interface: BuilderProblem
      Gets the location of the problem. The location is a user-friendly combination of the values from BuilderProblem.getSource(), BuilderProblem.getLineNumber() and BuilderProblem.getColumnNumber(). The exact syntax of the returned value is undefined.
      Specified by:
      getLocation in interface BuilderProblem
      Returns:
      the location of the problem, never null
    • getMessage

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

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

      public ModelProblem.Version getVersion()
      Description copied from interface: ModelProblem
      Gets the applicable maven version/validation level of this problem
      Specified by:
      getVersion in interface ModelProblem
      Returns:
      The version, never null.
    • toString

      public String toString()
      Overrides:
      toString in class Object