/******************************************************************************* * Copyright (c) 2013, 2014 Obeo. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Obeo - initial API and implementation *******************************************************************************/ package org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.impl; import com.google.common.base.Predicate; import java.util.Collection; import java.util.Set; import org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.IDifferenceFilter; import org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.IDifferenceFilterChange; import org.eclipse.emf.ecore.EObject; /** * The default implementation of {@link IDifferenceFilterChange}. * * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> * @since 4.0 */ public class DifferenceFilterChange implements IDifferenceFilterChange { /** * The predicate that aggregates the selected state predicates of selected filters and the unselected * state predicates of unselected filters. */ private final Predicate<? super EObject> predicate; /** * The list of selected filters. */ private final Set<IDifferenceFilter> selectedDifferenceFilters; /** * The list of unselected filters. */ private final Set<IDifferenceFilter> unselectedDifferenceFilters; /** * Default Constructor. * * @param predicate * a predicate that aggregates the selected state predicates of selected filters and the * unselected state predicates of unselected filters. * @param selectedDifferenceFilters * the list of selected filters. * @param unselectedDifferenceFilters * the list of unselected filters. */ public DifferenceFilterChange(Predicate<? super EObject> predicate, Set<IDifferenceFilter> selectedDifferenceFilters, Set<IDifferenceFilter> unselectedDifferenceFilters) { this.predicate = predicate; this.selectedDifferenceFilters = selectedDifferenceFilters; this.unselectedDifferenceFilters = unselectedDifferenceFilters; } /** * {@inheritDoc} * * @see org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.IDifferenceFilterChange#getPredicate() */ public Predicate<? super EObject> getPredicate() { return predicate; } /** * {@inheritDoc} * * @see org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.IDifferenceFilterChange#getSelectedDifferenceFilters() */ public Collection<IDifferenceFilter> getSelectedDifferenceFilters() { return selectedDifferenceFilters; } /** * {@inheritDoc} * * @see org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.IDifferenceFilterChange#getUnselectedDifferenceFilters() */ public Collection<IDifferenceFilter> getUnselectedDifferenceFilters() { return unselectedDifferenceFilters; } }