diff src/org/tmatesoft/hg/repo/HgBlameInspector.java @ 629:5f52074707b2

Diff/blame methods as command, their residence in HgDataFile was a mistake
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 22 May 2013 16:46:15 +0200
parents 707b5c7c6fa4
children
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/repo/HgBlameInspector.java	Wed May 22 15:52:31 2013 +0200
+++ b/src/org/tmatesoft/hg/repo/HgBlameInspector.java	Wed May 22 16:46:15 2013 +0200
@@ -16,173 +16,9 @@
  */
 package org.tmatesoft.hg.repo;
 
-import org.tmatesoft.hg.core.HgCallbackTargetException;
-import org.tmatesoft.hg.internal.Callback;
-import org.tmatesoft.hg.internal.Experimental;
-import org.tmatesoft.hg.util.Adaptable;
-
 /**
- * Client's sink for revision differences, diff/annotate functionality.
- * 
- * When implemented, clients shall not expect new {@link Block blocks} instances in each call.
- * 
- * In case more information about annotated revision is needed, inspector instances may supply 
- * {@link RevisionDescriptor.Recipient} through {@link Adaptable}.  
- * 
- * @author Artem Tikhomirov
- * @author TMate Software Ltd.
- * @since 1.1
+ * @deprecated use {@link org.tmatesoft.hg.core.HgBlameInspector} instead
  */
-@Callback
-@Experimental(reason="Unstable API")
-public interface HgBlameInspector {
-
-	void same(EqualBlock block) throws HgCallbackTargetException;
-	void added(AddBlock block) throws HgCallbackTargetException;
-	void changed(ChangeBlock block) throws HgCallbackTargetException;
-	void deleted(DeleteBlock block) throws HgCallbackTargetException;
-	
-	/**
-	 * Represents content of a block, either as a sequence of bytes or a 
-	 * sequence of smaller blocks (lines), if appropriate (according to usage context).
-	 * 
-	 * This approach allows line-by-line access to content data along with complete byte sequence for the whole block, i.e.
-	 * <pre>
-	 *    BlockData bd = addBlock.addedLines()
-	 *    // bd describes data from the addition completely.
-	 *    // elements of the BlockData are lines
-	 *    bd.elementCount() == addBlock.totalAddedLines();
-	 *    // one cat obtain complete addition with
-	 *    byte[] everythingAdded = bd.asArray();
-	 *    // or iterate line by line
-	 *    for (int i = 0; i < bd.elementCount(); i++) {
-	 *    	 byte[] lineContent = bd.elementAt(i);
-	 *       String line = new String(lineContent, fileEncodingCharset);
-	 *    }
-	 *    where bd.elementAt(0) is the line at index addBlock.firstAddedLine() 
-	 * </pre> 
-	 * 
-	 * LineData or ChunkData? 
-	 */
-	public interface BlockData {
-		BlockData elementAt(int index);
-		int elementCount();
-		byte[] asArray();
-	}
-	
-	/**
-	 * {@link HgBlameInspector} may optionally request extra information about revisions
-	 * being inspected, denoting itself as a {@link RevisionDescriptor.Recipient}. This class 
-	 * provides complete information about file revision under annotation now. 
-	 */
-	public interface RevisionDescriptor {
-		/**
-		 * @return complete source of the diff origin, never <code>null</code>
-		 */
-		BlockData origin();
-		/**
-		 * @return complete source of the diff target, never <code>null</code>
-		 */
-		BlockData target();
-		/**
-		 * @return changeset revision index of original file, or {@link HgRepository#NO_REVISION} if it's the very first revision
-		 */
-		int originChangesetIndex();
-		/**
-		 * @return changeset revision index of the target file
-		 */
-		int targetChangesetIndex();
-		/**
-		 * @return <code>true</code> if this revision is merge
-		 */
-		boolean isMerge();
-		/**
-		 * @return changeset revision index of the second, merged parent
-		 */
-		int mergeChangesetIndex();
-		/**
-		 * @return revision index of the change in target file's revlog
-		 */
-		int fileRevisionIndex();
-
-		/**
-		 * @return file object under blame (target file)
-		 */
-		HgDataFile file();
-
-		/**
-		 * Implement to indicate interest in {@link RevisionDescriptor}.
-		 * 
-		 * Note, instance of {@link RevisionDescriptor} is the same for 
-		 * {@link #start(RevisionDescriptor)} and {@link #done(RevisionDescriptor)} 
-		 * methods, and not necessarily a new one (i.e. <code>==</code>) for the next
-		 * revision announced.
-		 */
-		@Callback
-		public interface Recipient {
-			/**
-			 * Comes prior to any change {@link Block blocks}
-			 */
-			void start(RevisionDescriptor revisionDescription) throws HgCallbackTargetException;
-			/**
-			 * Comes after all change {@link Block blocks} were dispatched
-			 */
-			void done(RevisionDescriptor revisionDescription) throws HgCallbackTargetException;
-		}
-	}
-	
-	/**
-	 * Each change block comes from a single origin, blocks that are result of a merge
-	 * have {@link #originChangesetIndex()} equal to {@link RevisionDescriptor#mergeChangesetIndex()}.
-	 */
-	public interface Block {
-		int originChangesetIndex();
-		int targetChangesetIndex();
-	}
-	
-	public interface EqualBlock extends Block {
-		int originStart();
-		int targetStart();
-		int length();
-		BlockData content();
-	}
-	
-	public interface AddBlock extends Block {
-		/**
-		 * @return line index in the origin where this block is inserted
-		 */
-		int insertedAt();  
-		/**
-		 * @return line index of the first added line in the target revision
-		 */
-		int firstAddedLine();
-		/**
-		 * @return number of added lines in this block
-		 */
-		int totalAddedLines();
-		/**
-		 * @return content of added lines
-		 */
-		BlockData addedLines();
-	}
-	public interface DeleteBlock extends Block {
-		/**
-		 * @return line index in the target revision were this deleted block would be
-		 */
-		int removedAt();
-		/**
-		 * @return line index of the first removed line in the original revision
-		 */
-		int firstRemovedLine();
-		/**
-		 * @return number of deleted lines in this block
-		 */
-		int totalRemovedLines();
-		/**
-		 * @return content of deleted lines
-		 */
-		BlockData removedLines();
-	}
-	public interface ChangeBlock extends AddBlock, DeleteBlock {
-	}
+@Deprecated
+public interface HgBlameInspector extends org.tmatesoft.hg.core.HgBlameInspector {
 }