/** * Creates a new filter from the specified filters. * * @param filter1 The first filter to combine, may be {@code null}. * @param filter2 The first filter to combine, may be {@code null}. * @return The combined filter or {@code null} if both filter were {@code null}. */ public static DependencyFilter newInstance( DependencyFilter filter1, DependencyFilter filter2 ) { if ( filter1 == null ) { return filter2; } else if ( filter2 == null ) { return filter1; } return new OrDependencyFilter( filter1, filter2 ); }
/** * Creates a new filter that combines the specified filters using a logical {@code OR}. If no filters are specified, * the resulting filter accepts nothing. * * @param filters The filters to combine, may be {@code null}. * @return The new filter, never {@code null}. */ public static DependencyFilter orFilter( DependencyFilter... filters ) { if ( filters != null && filters.length == 1 ) { return filters[0]; } else { return new OrDependencyFilter( filters ); } }
/** * Creates a new filter that combines the specified filters using a logical {@code OR}. If no filters are specified, * the resulting filter accepts nothing. * * @param filters The filters to combine, may be {@code null}. * @return The new filter, never {@code null}. */ public static DependencyFilter orFilter( Collection<DependencyFilter> filters ) { if ( filters != null && filters.size() == 1 ) { return filters.iterator().next(); } else { return new OrDependencyFilter( filters ); } }