public static final UnboundRecordFilter column ( final String columnPath , final ColumnPredicates . Predicate predicate ) { checkNotNull ( columnPath , "columnPath" ) ; checkNotNull ( predicate , "predicate" ) ; return new UnboundRecordFilter ( ) { final String [ ] filterPath = columnPath . split ( "\\." ) ; @ Override public RecordFilter bind ( Iterable < ColumnReader > readers ) { for ( ColumnReader reader : readers ) { if ( Arrays . equals ( reader . getDescriptor ( ) . getPath ( ) , filterPath ) ) { return new ColumnRecordFilter ( reader , predicate ) ; } } throw new IllegalArgumentException ( "Column " + columnPath + " does not exist." ) ; } } ; }
Factory method for record filter which applies the supplied predicate to the specified column . Note that if searching for a repeated sub - attribute it will only ever match against the first instance of it in the object .