public List < Filter < S > > conjunctiveNormalFormSplit ( ) { final List < Filter < S > > list = new ArrayList < Filter < S > > ( ) ; conjunctiveNormalForm ( ) . accept ( new Visitor < S , Object , Object > ( ) { @ Override public Object visit ( OrFilter < 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 conjunctive normal form . And ng the filters together produces the full conjunctive normal form .