/******************************************************************************* * Copyright (c) 2012-2013 EclipseSource Muenchen GmbH and others. * * 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: * Edgar Mueller - initial API and implementation, API annotations ******************************************************************************/ package org.eclipse.emf.emfstore.client.ui; import java.util.Set; import org.eclipse.emf.ecore.EClass; /** * A filter interface that is used to separate specific types and mark them * as 'filtered' in the UI. Filtered types are considered as non-critical for * an understanding of the problem domain and therefore are treated special in the UI, * e.g. by grouping all operations involving only filtered type as is the case in the * update, commit and merge details dialog. * * @author emueller * * @noextend This interface is not intended to be extended by clients. */ public interface ESClassFilter { /** * Returns the {@link EClass}es that are considered as filtered. * * @return the filtered {@link EClass}es */ Set<EClass> getFilteredEClasses(); /** * A label that groups all filtered EClasses. * * @return the label used for grouping the filtered types */ String getLabel(); }