Consider a Review object with three properties: article, book and magazine. Let’s assume that only one of these three properties should be set as non-null.
For checking this constraint we can rely on Stream API as below:
return Stream.of(review.getBook(), review.getArticle(), review.getMagazine()) .filter(Objects::nonNull) .count() == 1;