001
014
015 package com.liferay.portal.kernel.util;
016
017 import java.util.ArrayList;
018 import java.util.Iterator;
019 import java.util.List;
020
021
033 public class DiffResult {
034
035 public static final String SOURCE = "SOURCE";
036
037 public static final String TARGET = "TARGET";
038
039 public DiffResult(int linePos, List<String> changedLines) {
040 _lineNumber = linePos + 1;
041 _changedLines = changedLines;
042 }
043
044 public DiffResult(int linePos, String changedLine) {
045 _lineNumber = linePos + 1;
046 _changedLines = new ArrayList<String>();
047 _changedLines.add(changedLine);
048 }
049
050 @Override
051 public boolean equals(Object obj) {
052 DiffResult diffResult = (DiffResult)obj;
053
054 if ((diffResult.getLineNumber() == _lineNumber) &&
055 (diffResult.getChangedLines().equals(_changedLines))) {
056
057 return true;
058 }
059
060 return false;
061 }
062
063 public List<String> getChangedLines() {
064 return _changedLines;
065 }
066
067 public int getLineNumber() {
068 return _lineNumber;
069 }
070
071 @Override
072 public int hashCode() {
073 HashCode hashCode = HashCodeFactoryUtil.getHashCode();
074
075 hashCode.append(_lineNumber);
076 hashCode.append(_changedLines);
077
078 return hashCode.toHashCode();
079 }
080
081 public void setChangedLines(List<String> changedLines) {
082 _changedLines = changedLines;
083 }
084
085 public void setLineNumber(int lineNumber) {
086 _lineNumber = lineNumber;
087 }
088
089 @Override
090 public String toString() {
091 StringBundler sb = new StringBundler(2 * _changedLines.size() + 2);
092
093 sb.append("Line: ");
094 sb.append(_lineNumber);
095 sb.append("\n");
096
097 Iterator<String> itr = _changedLines.iterator();
098
099 while (itr.hasNext()) {
100 sb.append(itr.next());
101
102 if (itr.hasNext()) {
103 sb.append("\n");
104 }
105 }
106
107 return sb.toString();
108 }
109
110 private List<String> _changedLines;
111 private int _lineNumber;
112
113 }