Coverage Report - com.aragost.javahg.merge.MergeFile
 
Classes in this File Line Coverage Branch Coverage Complexity
MergeFile
53%
7/13
N/A
1
 
 1  
 package com.aragost.javahg.merge;
 2  
 
 3  
 import java.io.File;
 4  
 
 5  
 import com.aragost.javahg.Changeset;
 6  
 import com.aragost.javahg.Repository;
 7  
 import com.aragost.javahg.commands.RevertCommand;
 8  
 
 9  
 /**
 10  
  * Base class for files somehow related to a merge.
 11  
  * <p>
 12  
  * 
 13  
  * @see MergeContext
 14  
  */
 15  
 public abstract class MergeFile {
 16  
 
 17  
     private String filename;
 18  
 
 19  
     private ConflictResolvingContext mergeCtx;
 20  
 
 21  11
     public MergeFile(ConflictResolvingContext mergeCtx, String file) {
 22  11
         this.mergeCtx = mergeCtx;
 23  11
         this.filename = file;
 24  11
     }
 25  
 
 26  
     public String getFilename() {
 27  12
         return filename;
 28  
     }
 29  
 
 30  
     public File getFile() {
 31  0
         return getRepository().file(getFilename());
 32  
     }
 33  
 
 34  
     public ConflictResolvingContext getMergeCtx() {
 35  3
         return mergeCtx;
 36  
     }
 37  
 
 38  
     void setMergeState(ConflictResolvingContext mergeState) {
 39  0
         this.mergeCtx = mergeState;
 40  0
     }
 41  
 
 42  
     Repository getRepository() {
 43  6
         return this.mergeCtx.getRepository();
 44  
     }
 45  
 
 46  
     void revertTo(Changeset changeset) {
 47  0
         RevertCommand.on(getRepository()).rev(changeset.getNode()).execute(this.filename);
 48  0
     }
 49  
 
 50  
     @Override
 51  
     public String toString() {
 52  0
         return getClass().getSimpleName() + "[" + getFilename() + "]";
 53  
     }
 54  
 
 55  
 }