@@ -637,15 +637,21 @@ private static boolean searchFilter(BaseOptions options, Record record) {
637637 return search (options .getSearch (), Arrays .asList (record .getKey (), record .getValue ()));
638638 } else {
639639 if (options .getSearchByKey () != null ) {
640- if (!search (options .getSearchByKey (), Collections .singletonList (record .getKey ()))) return false ;
640+ if (!search (options .getSearchByKey (), Collections .singletonList (record .getKey ()))) {
641+ return false ;
642+ }
641643 }
642644
643645 if (options .getSearchByValue () != null ) {
644- if (!search (options .getSearchByValue (), Collections .singletonList (record .getValue ()))) return false ;
646+ if (!search (options .getSearchByValue (), Collections .singletonList (record .getValue ()))) {
647+ return false ;
648+ }
645649 }
646650
647651 if (options .getSearchByHeaderKey () != null ) {
648- if (!search (options .getSearchByHeaderKey (), record .getHeaders ().keySet ())) return false ;
652+ if (!search (options .getSearchByHeaderKey (), record .getHeaders ().keySet ())) {
653+ return false ;
654+ }
649655 }
650656
651657 if (options .getSearchByHeaderValue () != null ) {
@@ -667,6 +673,12 @@ private static boolean search(Search searchFilter, Collection<String> stringsToS
667673 }
668674
669675 private static boolean containsAll (String search , Collection <String > in ) {
676+ if (search .equals ("null" )) {
677+ return in
678+ .stream ()
679+ .allMatch (Objects ::isNull );
680+ }
681+
670682 String [] split = search .toLowerCase ().split ("\\ s" );
671683 for (String s : in ) {
672684 if (s != null ) {
@@ -682,6 +694,12 @@ private static boolean containsAll(String search, Collection<String> in) {
682694 }
683695
684696 private static boolean equalsAll (String search , Collection <String > in ) {
697+ if (search .equals ("null" )) {
698+ return in
699+ .stream ()
700+ .allMatch (Objects ::isNull );
701+ }
702+
685703 String [] split = search .toLowerCase ().split ("\\ s" );
686704 for (String s : in ) {
687705 if (s != null ) {
@@ -697,6 +715,12 @@ private static boolean equalsAll(String search, Collection<String> in) {
697715 }
698716
699717 private static boolean notContainsAll (String search , Collection <String > in ) {
718+ if (search .equals ("null" )) {
719+ return in
720+ .stream ()
721+ .noneMatch (Objects ::isNull );
722+ }
723+
700724 String [] split = search .toLowerCase ().split ("\\ s" );
701725 for (String s : in ) {
702726 if (s != null ) {
0 commit comments