DiffResult.java |
1 /** 2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved. 3 * 4 * 5 * 6 * 7 * The contents of this file are subject to the terms of the Liferay Enterprise 8 * Subscription License ("License"). You may not use this file except in 9 * compliance with the License. You can obtain a copy of the License by 10 * contacting Liferay, Inc. See the License for the specific language governing 11 * permissions and limitations under the License, including but not limited to 12 * distribution rights of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 * SOFTWARE. 21 */ 22 23 package com.liferay.portal.kernel.util; 24 25 import java.util.ArrayList; 26 import java.util.Iterator; 27 import java.util.List; 28 29 /** 30 * <a href="DiffResult.java.html"><b><i>View Source</i></b></a> 31 * 32 * <p> 33 * Represents a change between one or several lines. <code>changeType</code> 34 * tells if the change happened in source or target. <code>lineNumber</code> 35 * holds the line number of the first modified line. This line number refers to 36 * a line in source or target, depending on the <code>changeType</code> value. 37 * <code>changedLines</code> is a list of strings, each string is a line that is 38 * already highlighted, indicating where the changes are. 39 * </p> 40 * 41 * @author Bruno Farache 42 */ 43 public class DiffResult { 44 45 public static final String SOURCE = "SOURCE"; 46 47 public static final String TARGET = "TARGET"; 48 49 public DiffResult(int linePos, List<String> changedLines) { 50 _lineNumber = linePos + 1; 51 _changedLines = changedLines; 52 } 53 54 public DiffResult(int linePos, String changedLine) { 55 _lineNumber = linePos + 1; 56 _changedLines = new ArrayList<String>(); 57 _changedLines.add(changedLine); 58 } 59 60 public List<String> getChangedLines() { 61 return _changedLines; 62 } 63 64 public void setChangedLines(List<String> changedLines) { 65 _changedLines = changedLines; 66 } 67 68 public int getLineNumber() { 69 return _lineNumber; 70 } 71 72 public void setLineNumber(int lineNumber) { 73 _lineNumber = lineNumber; 74 } 75 76 public boolean equals(Object obj) { 77 DiffResult diffResult = (DiffResult)obj; 78 79 if ((diffResult.getLineNumber() == _lineNumber) && 80 (diffResult.getChangedLines().equals(_changedLines))) { 81 82 return true; 83 } 84 85 return false; 86 } 87 88 public String toString() { 89 StringBuilder sb = new StringBuilder(); 90 91 sb.append("Line: "); 92 sb.append(_lineNumber); 93 sb.append("\n"); 94 95 Iterator<String> itr = _changedLines.iterator(); 96 97 while (itr.hasNext()) { 98 sb.append(itr.next()); 99 100 if (itr.hasNext()) { 101 sb.append("\n"); 102 } 103 } 104 105 return sb.toString(); 106 } 107 108 private int _lineNumber; 109 private List<String> _changedLines; 110 111 }