/******************************************************************************* | |
* Copyright (c) 2004-2008 Andras Schmidt, Andras Balogh, Istvan Rath and Daniel Varro | |
* 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: | |
* Andras Schmidt, Andras Balogh, Istvan Rath - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.viatra2.tags; | |
import java.util.Set; | |
import org.eclipse.viatra2.core.IModelElement; | |
import org.eclipse.viatra2.framework.IFramework; | |
/** | |
* | |
* @author Istvan Rath | |
* | |
*/ | |
public interface ITagManager { | |
/** | |
* Initializes the tag manager for the given VIATRA Framework instance. | |
*/ | |
public void init(IFramework fw); | |
/** | |
* Gets the tags for a given model element. | |
* @param me | |
* @return | |
*/ | |
public Set<ITag> getTagsForModelElement(IModelElement me); | |
/** | |
* Gets all tags. | |
* @return | |
*/ | |
public Set<ITag> getAllTags(); | |
/** | |
* Adds a tag. | |
* @param me | |
* @param tag | |
*/ | |
public void addTag(ITag tag); | |
/** | |
* Clear all tags for a given model element. | |
* All tags that are attached to this model element will be removed. | |
* @param me | |
*/ | |
public void clearTags(IModelElement me); | |
/** | |
* Clears all tags corresponding to a given kind. | |
* @param kind | |
*/ | |
public void clearTags(TagKind kind); | |
/** | |
* Clears all tags. | |
*/ | |
public void clearAllTags(); | |
/** | |
* Removes a given tag. | |
*/ | |
public void clearTag(ITag tag); | |
/** | |
* Resets the problem manager and recomputes modelspace problem tags. | |
*/ | |
public void resetProblemManager(); | |
} |