/******************************************************************************* * Copyright 2005-2006, CHISEL Group, University of Victoria, Victoria, BC, Canada * and IBM Corporation. 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: * The Chisel Group, University of Victoria *******************************************************************************/ package net.sourceforge.tagsea.core; /** * The central access point for all waypoints that can be accessed from the workbench. * @author Del Myers */ public interface IWaypointsModel { /** * Returns all the waypoints that can be accessed from the workbench. * @return */ IWaypoint[] getAllWaypoints(); /** * Returns all waypoints of the given type * @param type * @return */ IWaypoint[] getWaypoints(String type); /** * Creates an returns a waypoint of the given type with the given tag names associated with it. * If the waypoint could not be created, null is returned. * @param type * @param tags * @return */ IWaypoint createWaypoint(String type, String[] tags); /** * Removes the given waypoint from the model, if it exists there and the defining plugin will allow the removal. * @param waypoint the waypoint to be deleted. * @return the status of the attempt to delete the waypoint. */ TagSEAChangeStatus removeWaypoint(IWaypoint waypoint); }