Class RecursiveAssertionDriver


  • public class RecursiveAssertionDriver
    extends java.lang.Object
    • Method Detail

      • assertOverObjectGraph

        public java.util.List<FieldLocation> assertOverObjectGraph​(java.util.function.Predicate<java.lang.Object> predicate,
                                                                   java.lang.Object graphNode)
      • reset

        public void reset()
      • assertRecursively

        private void assertRecursively​(java.util.function.Predicate<java.lang.Object> predicate,
                                       java.lang.Object node,
                                       java.lang.Class<?> nodeType,
                                       FieldLocation fieldLocation)
      • nodeMustBeIgnored

        private boolean nodeMustBeIgnored​(java.lang.Object node,
                                          java.lang.Class<?> nodeType,
                                          FieldLocation fieldLocation)
      • isRootObject

        private boolean isRootObject​(FieldLocation fieldLocation)
      • isNullWhichAreIgnored

        private boolean isNullWhichAreIgnored​(java.lang.Object node)
      • isPrimitiveWhichAreIgnored

        private boolean isPrimitiveWhichAreIgnored​(java.lang.Class<?> nodeType)
      • evaluateAssertion

        private void evaluateAssertion​(java.util.function.Predicate<java.lang.Object> predicate,
                                       java.lang.Object node,
                                       FieldLocation fieldLocation)
      • assertionFails

        private boolean assertionFails​(java.util.function.Predicate<java.lang.Object> predicate,
                                       java.lang.Object node)
      • shouldEvaluateAssertion

        private boolean shouldEvaluateAssertion​(java.lang.Class<?> nodeType)
      • isContainer

        private boolean isContainer​(java.lang.Class<?> nodeType)
      • recurseIntoFieldsOfCurrentNode

        private void recurseIntoFieldsOfCurrentNode​(java.util.function.Predicate<java.lang.Object> predicate,
                                                    java.lang.Object node,
                                                    java.lang.Class<?> nodeType,
                                                    FieldLocation fieldLocation)
      • isTypeRequiringSpecificHandling

        private boolean isTypeRequiringSpecificHandling​(java.lang.Class<?> nodeType)
      • shouldRecurseOverSpecialTypes

        private boolean shouldRecurseOverSpecialTypes​(java.lang.Class<?> nodeType)
      • doRecursionForSpecialTypes

        private void doRecursionForSpecialTypes​(java.util.function.Predicate<java.lang.Object> predicate,
                                                java.lang.Object node,
                                                java.lang.Class<?> nodeType,
                                                FieldLocation fieldLocation)
      • recurseIntoCollection

        private void recurseIntoCollection​(java.util.function.Predicate<java.lang.Object> predicate,
                                           java.util.Collection<?> collection,
                                           FieldLocation fieldLocation)
      • recurseIntoArray

        private void recurseIntoArray​(java.util.function.Predicate<java.lang.Object> predicate,
                                      java.lang.Object node,
                                      java.lang.Class<?> nodeType,
                                      FieldLocation fieldLocation)
      • recurseIntoOptional

        private void recurseIntoOptional​(java.util.function.Predicate<java.lang.Object> predicate,
                                         java.lang.Object node,
                                         FieldLocation fieldLocation)
      • recurseIntoMap

        private void recurseIntoMap​(java.util.function.Predicate<java.lang.Object> predicate,
                                    java.util.Map<?,​?> node,
                                    FieldLocation fieldLocation)
      • recurseIntoMapValues

        private void recurseIntoMapValues​(java.util.function.Predicate<java.lang.Object> predicate,
                                          java.util.Map<?,​?> currentNode,
                                          FieldLocation fieldLocation)
      • recurseIntoMapKeys

        private void recurseIntoMapKeys​(java.util.function.Predicate<java.lang.Object> predicate,
                                        java.util.Map<?,​?> currentNode,
                                        FieldLocation fieldLocation)
      • recurseIntoMapElement

        private void recurseIntoMapElement​(java.util.function.Predicate<java.lang.Object> predicate,
                                           FieldLocation fieldLocation,
                                           java.lang.Object nextNode,
                                           java.lang.String msgFormat)
      • safeGetClass

        private static java.lang.Class<?> safeGetClass​(java.lang.Object object)
      • shouldRecurseIntoNode

        private boolean shouldRecurseIntoNode​(java.lang.Object node)
      • nodeIsJavaTypeToIgnore

        private boolean nodeIsJavaTypeToIgnore​(java.lang.Object node)
      • evaluateFieldsOfCurrentNodeRecursively

        private void evaluateFieldsOfCurrentNodeRecursively​(java.util.function.Predicate<java.lang.Object> predicate,
                                                            java.lang.Object node,
                                                            FieldLocation fieldLocation)
      • markNodeAsVisited

        private boolean markNodeAsVisited​(java.lang.Object node)
      • identityToString

        private static java.lang.String identityToString​(java.lang.Object object)
      • isCollection

        private boolean isCollection​(java.lang.Class<?> nodeType)
      • isArray

        private boolean isArray​(java.lang.Class<?> nodeType)
      • isMap

        private boolean isMap​(java.lang.Class<?> nodeType)