|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.lib.cvsclient.command.diff; import java.io.*; import java.util.*; import org.netbeans.lib.cvsclient.command.*; /** * Describes diff information for 2 fversions of a file. This is the result of doing a * cvs diff command. The fields in instances of this object are populated * by response handlers. * @author Milos Kleint */ public class DiffInformation extends FileInfoContainer { private File file; private String repositoryFileName; private String rightRevision; private String leftRevision; private String parameters; /** * List of changes stored here */ private final List changesList = new ArrayList(); private Iterator iterator; public DiffInformation() { } /** * Getter for property file. * @return Value of property file. */ public File getFile() { return file; } /** * Setter for property file. * @param file New value of property file. */ public void setFile(File file) { this.file = file; } /** * Getter for property repositoryFileName. * @return Value of property repositoryFileName. */ public String getRepositoryFileName() { return repositoryFileName; } /** * Setter for property repositoryFileName. * @param repositoryRevision New value of property repositoryFileName. */ public void setRepositoryFileName(String repositoryFileName) { this.repositoryFileName = repositoryFileName; } /** * Return a string representation of this object. Useful for debugging. */ public String toString() { StringBuffer buf = new StringBuffer(30); buf.append("\nFile: " + ((file != null)?file.getAbsolutePath():"null")); //NOI18N buf.append("\nRCS file: " + repositoryFileName); //NOI18N buf.append("\nRevision: " + leftRevision); //NOI18N if (rightRevision != null) { buf.append("\nRevision: " + rightRevision); //NOI18N } buf.append("\nParameters: " + parameters); //NOI18N // buf.append(differences.toString()); return buf.toString(); } /** Getter for property rightRevision. * @return Value of property rightRevision. */ public String getRightRevision() { return rightRevision; } /** Setter for property rightRevision. * @param rightRevision New value of property rightRevision. */ public void setRightRevision(String rightRevision) { this.rightRevision = rightRevision; } /** Getter for property leftRevision. * @return Value of property leftRevision. */ public String getLeftRevision() { return leftRevision; } /** Setter for property leftRevision. * @param leftRevision New value of property leftRevision. */ public void setLeftRevision(String leftRevision) { this.leftRevision = leftRevision; } public String getParameters() { return parameters; } public void setParameters(String parameters) { this.parameters = parameters; } public DiffChange createDiffChange() { return new DiffChange(); } public void addChange(DiffChange change) { changesList.add(change); } public DiffChange getFirstChange() { iterator = changesList.iterator(); return getNextChange(); } public DiffChange getNextChange() { if (iterator == null) { return null; } if (!iterator.hasNext()) { return null; } return (DiffChange)iterator.next(); } public class DiffChange { public static final int ADD = 0; public static final int DELETE = 1; public static final int CHANGE = 2; protected int type; private int leftBeginning = -1; private int leftEnd = -1; private final List leftDiff = new ArrayList(); private int rightBeginning = -1; private int rightEnd = -1; private final List rightDiff = new ArrayList(); public DiffChange() { } public void setType(int typeChange) { // System.out.println("type=" + typeChange); type = typeChange; } public int getType() { return type; } public void setLeftRange(int min, int max) { // System.out.println("setLeftRange() min=" + min + " max=" +max); leftBeginning = min; leftEnd = max; } public void setRightRange(int min, int max) { // System.out.println("setRightRange() min=" + min + " max=" +max); rightBeginning = min; rightEnd = max; } public int getMainBeginning() { return rightBeginning; } public int getRightMin() { return rightBeginning; } public int getRightMax() { return rightEnd; } public int getLeftMin() { return leftBeginning; } public int getLeftMax() { return leftEnd; } public boolean isInRange(int number, boolean left) { if (left) { return (number >= leftBeginning && number <= leftEnd); } return (number >= rightBeginning && number <= rightEnd); } public String getLine(int number, boolean left) { if (left) { int index = number - leftBeginning; if (index < 0 || index >= leftDiff.size()) { return null; } String line = (String)leftDiff.get(index); return line; } else { int index = number - rightBeginning; if (index < 0 || index >= rightDiff.size()) { return null; } String line = (String)rightDiff.get(index); return line; } } public void appendLeftLine(String diffLine) { leftDiff.add(diffLine); } public void appendRightLine(String diffLine) { rightDiff.add(diffLine); } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.