/******************************************************************************* * Copyright 2005-2007, 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.parsed.parser; import java.util.Date; /** * A parsed waypoint descriptor that can change its fields. * @author Del Myers * */ public interface IMutableParsedWaypointDescriptor extends IParsedWaypointDescriptor { /** * set the message to be displayed with the waypoint * @throws UnsupportedOperationException if the message can't be set. */ public abstract void setMessage(String message) throws UnsupportedOperationException; /** * set the creation/modification date of the waypoint. * @throws UnsupportedOperationException if dates can't be set */ public abstract void setDate(Date date) throws UnsupportedOperationException; /** * set domain-specific detail information for the waypoint. * @throws UnsupportedOperationException if the detail informationcan't be set. */ public abstract void setDetail(String detail) throws UnsupportedOperationException; /** * set the author(s) of the waypoint. * @throws UnsupportedOperationException if authors can't be changed. */ public abstract void setAuthor(String author) throws UnsupportedOperationException; /** * * @return the new text representation of the waypoint after changes have been applied. */ public abstract String getText(); /** * Adds the given tag to the list of tags. * @param tag the tag to add. * @throws UnsupportedOperationException if tags can't be added. */ public abstract void addTag(String tag) throws UnsupportedOperationException; /** * Removes all instances of the given tag from the list of tags. * @throws UnsupportedOperationException if tags can't be removed. */ public abstract void removeTag(String tag) throws UnsupportedOperationException; /** * Replaces all instances of the given old tag with the new tag. * @param oldTag * @param newTag * @param throws UnsupportedOperationException if tags can't be replaced */ public abstract void replaceTag(String oldTag, String newTag) throws UnsupportedOperationException; }