public List < Filter < S > > disjunctiveNormalFormSplit ( ) { final List < Filter < S > > list = new ArrayList < Filter < S > > ( ) ; disjunctiveNormalForm ( ) . accept ( new Visitor < S , Object , Object > ( ) { @ Override public Object visit ( AndFilter < S > filter , Object param ) { list . add ( filter ) ; return null ; } @ Override public Object visit ( PropertyFilter < S > filter , Object param ) { list . add ( filter ) ; return null ; } @ Override public Object visit ( ExistsFilter < S > filter , Object param ) { list . add ( filter ) ; return null ; } } , null ) ; return Collections . unmodifiableList ( list ) ; }
Splits the filter from its disjunctive normal form . Or ng the filters together produces the full disjunctive normal form .