Class Problem

java.lang.Object
com.jk.core.validation.Problem
All Implemented Interfaces:
Comparable<Problem>

public final class Problem extends Object implements Comparable<Problem>
This class represents a problem or issue with a specific severity level.
Version:
1.0
Author:
Dr. Jalal H. Kiswani
  • Constructor Summary

    Constructors
    Constructor
    Description
    Problem(String message, Severity severity)
    This method constructs a new with the provided message and severity level.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Compares this object with the specified object for order.
    boolean
    Indicates whether some other object is "equal to" this one.
    This method retrieves the problem describing message.
    int
    Returns a hash code value for the object.
    boolean
    This method checks if this Problem instance represents a fatal problem.
    boolean
    This method compares the severity of this Problem instance with another Problem instance.
    This method retrieves the severity of this Problem instance.
    Returns a string representation of the object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Problem

      public Problem(String message, Severity severity)
      This method constructs a new with the provided message and severity level.
      Parameters:
      message - Specifies the message describing the problem.
      severity - Specifies the level of severity of the problem.
  • Method Details

    • compareTo

      public int compareTo(Problem o)
      Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

      The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

      The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

      Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

      Specified by:
      compareTo in interface Comparable<Problem>
      Parameters:
      o - the object to be compared.
      Returns:
      a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
    • equals

      public boolean equals(Object o)
      Indicates whether some other object is "equal to" this one.

      The equals method implements an equivalence relation on non-null object references:

      • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
      • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
      • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
      • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
      • For any non-null reference value x, x.equals(null) should return false.

      An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

      Overrides:
      equals in class Object
      Parameters:
      o - the reference object with which to compare.
      Returns:
      true if this object is the same as the obj argument; false otherwise.
    • getMessage

      public String getMessage()
      This method retrieves the problem describing message.
      Returns:
      the problem describing message.
    • hashCode

      public int hashCode()
      Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

      The general contract of hashCode is:

      • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
      • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
      • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • isFatal

      public boolean isFatal()
      This method checks if this Problem instance represents a fatal problem.
      Returns:
      true, if the severity is FATAL; otherwise, false.
    • isWorseThan

      public boolean isWorseThan(Problem other)
      This method compares the severity of this Problem instance with another Problem instance.
      Parameters:
      other - Specifies the other Problem instance to compare with.
      Returns:
      true, if this problem is worse (more severe) than the other; false otherwise
    • severity

      public Severity severity()
      This method retrieves the severity of this Problem instance.
      Returns:
      the severity level of the problem.
    • toString

      public String toString()
      Returns a string representation of the object.
      Overrides:
      toString in class Object
      Returns:
      a string representation of the object.