private boolean hasFilterTypeSupport( final IControlPanelProvider<ELEMENT_VALUE_TYPE> controlPanel, final IFilterType filterType) { if (controlPanel != null) { final IFilterSupport<Object> filterSupport = controlPanel.getFilterSupport(); if (filterSupport != null) { for (final IFilterPanelProvider<?> filterPanel : filterSupport.getFilterPanels()) { if (NullCompatibleEquivalence.equals(filterType, filterPanel.getType())) { return true; } } } } return false; }
@Override public List<IFilterType> getSupportedFilterTypes() { final Set<IFilterType> result = new LinkedHashSet<IFilterType>(); for (final IControlPanelProvider<ELEMENT_VALUE_TYPE> controlPanelProvider : controlPanels) { final IFilterSupport<?> filterSupport = controlPanelProvider.getFilterSupport(); if (filterSupport != null) { for (final IFilterPanelProvider<?> filterPanelProvider : filterSupport.getFilterPanels()) { final IFilterType filterType = filterPanelProvider.getType(); result.add(filterType); } } } return new LinkedList<IFilterType>(result); }
@Override public IFilterPanelProvider<IOperator> getFilterPanelProvider(final IFilterType filterType) { for (final IControlPanelProvider<ELEMENT_VALUE_TYPE> controlPanelProvider : controlPanels) { final IFilterSupport<Object> filterSupport = controlPanelProvider.getFilterSupport(); if (filterSupport != null) { for (final IFilterPanelProvider<IOperator> filterPanelProvider : filterSupport.getFilterPanels()) { if (filterType.equals(filterPanelProvider.getType())) { return filterPanelProvider; } } } } return null; }