org.eclipse.team.core/src/org/eclipse/team/core/diff/ITwoWayDiff.java
Parent Directory
|
Revision Log
Revision 1.10 -
(download)
(annotate)
Wed Jun 4 15:59:35 2008 UTC (17 months, 3 weeks ago) by tzarna
Branch: MAIN
CVS Tags: I20080604, I20080605, I20090323-1100, I20081202, I20090306-1030, I20090311-0800, I20080819, I20091006-0800, I20090427-0800, I20091013-0800, I20090407-0800, I20090721-0750, I20090803-1300, r34x_20080827, I20090630-2000, I20090224-0800, I20091028-0800, r34x_20080115, I20090331-0800, I20090929-0800, I20080803, I20090303-0800, I20080804, r34x_20090115, I20090825-0800, I20081014, r34x_20080107, I20090514-0808, I20090126-0800, R3_4, R3_5, I20080715, I20090714-0800, r34x_20080808, I20090521-1750, I20090522-1010, I20081021, I20090922-0800, r34x_20080723, I20090113, I20080820, I20080722, I20080826, I20090309-1300, I20090421, I20090916-0800, I20090428, I20090211, I20090106, I20080923, R3_5_1, I20090429-0800, I20091124-0800, I20090210-0800, I20081029, I20090309-1800, I20081125, I20090527-0620, I20091020-0800, I20080930, I20090217-0800, I20091117-0800, I20081216, I20081210, r34x_20081015, I20081118, I20090508-2000, r34x_20080902, I20090120, r35x_20090930-0800, I20090511-2000, I20090128-0800, I20080909, I20091026-1300, R3_4_2, R3_4_1, v20090210-0615, I20090430-0408, I20080915, I20080917, I20090317-1800, HEAD
Branch point for: R3_4_maintenance, R3_5_maintenance
Changes since 1.9: +6 -7 lines
Wed Jun 4 15:59:35 2008 UTC (17 months, 3 weeks ago) by tzarna
Branch: MAIN
CVS Tags: I20080604, I20080605, I20090323-1100, I20081202, I20090306-1030, I20090311-0800, I20080819, I20091006-0800, I20090427-0800, I20091013-0800, I20090407-0800, I20090721-0750, I20090803-1300, r34x_20080827, I20090630-2000, I20090224-0800, I20091028-0800, r34x_20080115, I20090331-0800, I20090929-0800, I20080803, I20090303-0800, I20080804, r34x_20090115, I20090825-0800, I20081014, r34x_20080107, I20090514-0808, I20090126-0800, R3_4, R3_5, I20080715, I20090714-0800, r34x_20080808, I20090521-1750, I20090522-1010, I20081021, I20090922-0800, r34x_20080723, I20090113, I20080820, I20080722, I20080826, I20090309-1300, I20090421, I20090916-0800, I20090428, I20090211, I20090106, I20080923, R3_5_1, I20090429-0800, I20091124-0800, I20090210-0800, I20081029, I20090309-1800, I20081125, I20090527-0620, I20091020-0800, I20080930, I20090217-0800, I20091117-0800, I20081216, I20081210, r34x_20081015, I20081118, I20090508-2000, r34x_20080902, I20090120, r35x_20090930-0800, I20090511-2000, I20090128-0800, I20080909, I20091026-1300, R3_4_2, R3_4_1, v20090210-0615, I20090430-0408, I20080915, I20080917, I20090317-1800, HEAD
Branch point for: R3_4_maintenance, R3_5_maintenance
Changes since 1.9: +6 -7 lines
bug 234375: Additional adopting of API Tooling by Team/Core
/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.team.core.diff; import org.eclipse.core.resources.IResourceDelta; import org.eclipse.core.runtime.IPath; import org.eclipse.team.core.diff.provider.TwoWayDiff; /** * A two-way diff represents the changes between two states of the same object, * referred to as the "before" state and the "after" state. It is modeled after * the {@link IResourceDelta} but is simplified. * * @see IDiffTree * * @since 3.2 * @noimplement This interface is not intended to be implemented by clients. * Clients that need to create two-way diffs should instead use or * subclass {@link TwoWayDiff} */ public interface ITwoWayDiff extends IDiff { /*==================================================================== * Constants which describe resource changes: *====================================================================*/ /** * Change constant (bit mask) indicating that the content of the object has changed. * * @see ITwoWayDiff#getFlags() */ public static final int CONTENT = 0x100; /** * Change constant (bit mask) indicating that the object was moved from another location. * The location in the "before" state can be retrieved using <code>getFromPath()</code>. * * @see ITwoWayDiff#getFlags() */ public static final int MOVE_FROM = 0x200; /** * Change constant (bit mask) indicating that the object was moved to another location. * The location in the new state can be retrieved using <code>getToPath()</code>. * * @see ITwoWayDiff#getFlags() */ public static final int MOVE_TO = 0x400; /** * Change constant (bit mask) indicating that the object was copied from another location. * The location in the "before" state can be retrieved using <code>getFromPath()</code>. * * @see ITwoWayDiff#getFlags() */ public static final int COPY_FROM = 0x800; /** * Change constant (bit mask) indicating that the object has been * replaced by another at the same location (i.e., the object has * been deleted and then added). * * @see ITwoWayDiff#getFlags() */ public static final int REPLACE = 0x1000; /** * Returns flags which describe in more detail how a object has been affected. * <p> * The following codes (bit masks) are used when kind is <code>CHANGE</code>, and * also when the object is involved in a move: * <ul> * <li><code>CONTENT</code> - The bytes contained by the resource have * been altered.</li> * <li><code>REPLACE</code> - The object * was deleted (either by a delete or move), and was subsequently re-created * (either by a create, move, or copy).</li> * </ul> * The following code is only used if kind is <code>REMOVE</code> * (or <code>CHANGE</code> in conjunction with <code>REPLACE</code>): * <ul> * <li><code>MOVE_TO</code> - The object has moved. * <code>getToPath</code> will return the path of where it was moved to.</li> * </ul> * The following code is only used if kind is <code>ADD</code> * (or <code>CHANGE</code> in conjunction with <code>REPLACE</code>): * <ul> * <li><code>MOVE_FROM</code> - The object has moved. * <code>getFromPath</code> will return the path of where it was moved from.</li> * <li><code>COPY_FROM</code> - The object has copied. * <code>getFromPath</code> will return the path of where it was copied from.</li> * </ul> * A simple move operation would result in the following diff information. * If a object is moved from A to B (with no other changes to A or B), * then A will have kind <code>REMOVE</code>, with flag <code>MOVE_TO</code>, * and <code>getToPath</code> on A will return the path for B. * B will have kind <code>ADD</code>, with flag <code>MOVE_FROM</code>, * and <code>getFromPath</code> on B will return the path for A. * B's other flags will describe any other changes to the resource, as compared * to its previous location at A. * </p> * <p> * Note that the move flags only describe the changes to a single object; they * don't necessarily imply anything about the parent or children of the object. * If the children were moved as a consequence of a subtree move operation, * they will have corresponding move flags as well. * </p> * * @return the flags * @see ITwoWayDiff#CONTENT * @see ITwoWayDiff#MOVE_TO * @see ITwoWayDiff#MOVE_FROM * @see ITwoWayDiff#COPY_FROM * @see ITwoWayDiff#REPLACE * @see #getKind() * @see #getFromPath() * @see #getToPath() */ public int getFlags(); /** * Returns the full path (in the "before" state) from which this resource * (in the "after" state) was moved. This value is only valid * if the <code>MOVE_FROM</code> change flag is set; otherwise, * <code>null</code> is returned. * <p> * Note: the returned path never has a trailing separator. * * @return a path, or <code>null</code> * @see #getToPath() * @see #getPath() * @see #getFlags() */ public IPath getFromPath(); /** * Returns the full path (in the "after" state) to which this resource * (in the "before" state) was moved. This value is only valid if the * <code>MOVE_TO</code> change flag is set; otherwise, * <code>null</code> is returned. * <p> * Note: the returned path never has a trailing separator. * * @return a path, or <code>null</code> * @see #getFromPath() * @see #getPath() * @see #getFlags() */ public IPath getToPath(); }
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
