Refactoring multiple boolean conditions?
What especially jumps at me is, that you take your real data object (the Employee), convert it to a string representation and do your checks on the string.

Why? Can't you check your data object?

Apart from that, I don't see a problem with 5 and-conditions. This is clearer to read than some clever stream-through-predicates-and-reduce code. Clear. Simple. Leave it like that.

What I'd recommend is rethinking your naming:


getPredicate(): yes, it returns a predicate, we see that from the method signature. But what does this predicate test?
filter(): does some filtering, but according to which criteria?


(Sorry to pepijno, I typed this without seeing your answer... no offense meant ;-))