Interface ProblemContainer

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.Collection<Problem> anyProblems​()
      Return all the problems in this object, even if the container is "ok".
      java.lang.String debugProblems​(java.lang.String joinedWith)
      Return the problems as a single string, which combines the Object.toString() output of each problem with the given joining string parameter.
      boolean hasProblems​()
      Returns whether this object contains 1 or more problems.
      boolean isOk​()
      Returns whether this object contains zero problems.
      boolean isProblem​()
      Returns whether this object contains 1 or more problems.
      void joinProblemsWith​(java.util.Collection<Problem> problemList)
      Add all problems in this container into the argument.
      java.util.Collection<Problem> validProblems​()
      Returns all contained problems in this object, but only if this object contains 1 or more problems.
    • Method Detail

      • isProblem

        boolean isProblem​()
        Returns whether this object contains 1 or more problems.
        Returns:
        true if there is a problem, false if there is no problem.
      • hasProblems

        boolean hasProblems​()
        Returns whether this object contains 1 or more problems. Duplicate of isProblem() for English readability.
        Returns:
        true if there is a problem, false if there is no problem.
      • isOk

        boolean isOk​()
        Returns whether this object contains zero problems.
        Returns:
        true if there are no problems, false if there is a problem.
      • anyProblems

        @Nonnull
        java.util.Collection<Problem> anyProblems​()
        Return all the problems in this object, even if the container is "ok".

        Generally, this combines the problems in this instance with a larger collection, which can itself be used to check if any of the values had problems.

        The returned collection is read-only, and contains no null values.

        Returns:
        the problems contained in this container, even if there are none.
      • validProblems

        @Nonnull
        java.util.Collection<Problem> validProblems​()
        Returns all contained problems in this object, but only if this object contains 1 or more problems. If it contains 0, then this throws an IllegalStateException.

        The returned collection is read-only, and contains no null values.

        Returns:
        the problems in this container, and the collection will contain at least 1 item.
        Throws:
        java.lang.IllegalStateException - if this object has 0 problems.
      • debugProblems

        @Nonnull
        java.lang.String debugProblems​(@Nonnull
                                       java.lang.String joinedWith)
        Return the problems as a single string, which combines the Object.toString() output of each problem with the given joining string parameter. If this object contains no problems, then an empty string is returned instead.
        Parameters:
        joinedWith - the text to join multiple problem strings together.
        Returns:
        the combined text of the problems, or an empty string if there are no problems.
      • joinProblemsWith

        void joinProblemsWith​(@Nonnull
                              java.util.Collection<Problem> problemList)
        Add all problems in this container into the argument. This has a very specific usage to indicate that this container, even if it has no problems, is part of a bigger issue. Therefore, this is fine to call even if there are no problems in this container.
        Parameters:
        problemList - a modifiable collection of zero or more problems.