Package com.github.difflib.unifieddiff
Class UnifiedDiffReader
- java.lang.Object
-
- com.github.difflib.unifieddiff.UnifiedDiffReader
-
public final class UnifiedDiffReader extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
UnifiedDiffReader.UnifiedDiffLine
-
Field Summary
-
Constructor Summary
Constructors Constructor Description UnifiedDiffReader(java.io.Reader reader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
checkForNoNewLineAtTheEndOfTheFile(java.lang.String line)
private java.lang.String
extractFileName(java.lang.String _line)
private java.lang.String
extractTimestamp(java.lang.String line)
private void
finalizeChunk()
private void
initFileIfNecessary()
private UnifiedDiff
parse()
(package private) static java.lang.String[]
parseFileNames(java.lang.String line)
static UnifiedDiff
parseUnifiedDiff(java.io.InputStream stream)
To parse a diff file use this method.private void
processAddLine(java.util.regex.MatchResult match, java.lang.String line)
private void
processChunk(java.util.regex.MatchResult match, java.lang.String chunkStart)
private void
processDeletedFileMode(java.util.regex.MatchResult match, java.lang.String line)
private void
processDelLine(java.util.regex.MatchResult match, java.lang.String line)
private void
processDiff(java.util.regex.MatchResult match, java.lang.String line)
private void
processFromFile(java.util.regex.MatchResult match, java.lang.String line)
private void
processIndex(java.util.regex.MatchResult match, java.lang.String line)
private boolean
processLine(java.lang.String line, UnifiedDiffReader.UnifiedDiffLine... rules)
private void
processNewFileMode(java.util.regex.MatchResult match, java.lang.String line)
private void
processNormalLine(java.util.regex.MatchResult match, java.lang.String line)
private void
processRenameFrom(java.util.regex.MatchResult match, java.lang.String line)
private void
processRenameTo(java.util.regex.MatchResult match, java.lang.String line)
private void
processSimilarityIndex(java.util.regex.MatchResult match, java.lang.String line)
private void
processToFile(java.util.regex.MatchResult match, java.lang.String line)
private static java.lang.Integer
toInteger(java.util.regex.MatchResult match, int group, int defValue)
private boolean
validLine(java.lang.String line, UnifiedDiffReader.UnifiedDiffLine... rules)
-
-
-
Field Detail
-
UNIFIED_DIFF_CHUNK_REGEXP
static final java.util.regex.Pattern UNIFIED_DIFF_CHUNK_REGEXP
-
TIMESTAMP_REGEXP
static final java.util.regex.Pattern TIMESTAMP_REGEXP
-
READER
private final InternalUnifiedDiffReader READER
-
data
private final UnifiedDiff data
-
DIFF_COMMAND
private final UnifiedDiffReader.UnifiedDiffLine DIFF_COMMAND
-
SIMILARITY_INDEX
private final UnifiedDiffReader.UnifiedDiffLine SIMILARITY_INDEX
-
INDEX
private final UnifiedDiffReader.UnifiedDiffLine INDEX
-
FROM_FILE
private final UnifiedDiffReader.UnifiedDiffLine FROM_FILE
-
TO_FILE
private final UnifiedDiffReader.UnifiedDiffLine TO_FILE
-
RENAME_FROM
private final UnifiedDiffReader.UnifiedDiffLine RENAME_FROM
-
RENAME_TO
private final UnifiedDiffReader.UnifiedDiffLine RENAME_TO
-
NEW_FILE_MODE
private final UnifiedDiffReader.UnifiedDiffLine NEW_FILE_MODE
-
DELETED_FILE_MODE
private final UnifiedDiffReader.UnifiedDiffLine DELETED_FILE_MODE
-
CHUNK
private final UnifiedDiffReader.UnifiedDiffLine CHUNK
-
LINE_NORMAL
private final UnifiedDiffReader.UnifiedDiffLine LINE_NORMAL
-
LINE_DEL
private final UnifiedDiffReader.UnifiedDiffLine LINE_DEL
-
LINE_ADD
private final UnifiedDiffReader.UnifiedDiffLine LINE_ADD
-
actualFile
private UnifiedDiffFile actualFile
-
LOG
private static final java.util.logging.Logger LOG
-
originalTxt
private java.util.List<java.lang.String> originalTxt
-
revisedTxt
private java.util.List<java.lang.String> revisedTxt
-
addLineIdxList
private java.util.List<java.lang.Integer> addLineIdxList
-
delLineIdxList
private java.util.List<java.lang.Integer> delLineIdxList
-
old_ln
private int old_ln
-
old_size
private int old_size
-
new_ln
private int new_ln
-
new_size
private int new_size
-
delLineIdx
private int delLineIdx
-
addLineIdx
private int addLineIdx
-
-
Method Detail
-
parse
private UnifiedDiff parse() throws java.io.IOException, UnifiedDiffParserException
- Throws:
java.io.IOException
UnifiedDiffParserException
-
checkForNoNewLineAtTheEndOfTheFile
private java.lang.String checkForNoNewLineAtTheEndOfTheFile(java.lang.String line) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFileNames
static java.lang.String[] parseFileNames(java.lang.String line)
-
parseUnifiedDiff
public static UnifiedDiff parseUnifiedDiff(java.io.InputStream stream) throws java.io.IOException, UnifiedDiffParserException
To parse a diff file use this method.- Parameters:
stream
- This is the diff file data.- Returns:
- In a UnifiedDiff structure this diff file data is returned.
- Throws:
java.io.IOException
UnifiedDiffParserException
-
processLine
private boolean processLine(java.lang.String line, UnifiedDiffReader.UnifiedDiffLine... rules) throws UnifiedDiffParserException
- Throws:
UnifiedDiffParserException
-
validLine
private boolean validLine(java.lang.String line, UnifiedDiffReader.UnifiedDiffLine... rules)
-
initFileIfNecessary
private void initFileIfNecessary()
-
processDiff
private void processDiff(java.util.regex.MatchResult match, java.lang.String line)
-
processSimilarityIndex
private void processSimilarityIndex(java.util.regex.MatchResult match, java.lang.String line)
-
finalizeChunk
private void finalizeChunk()
-
processNormalLine
private void processNormalLine(java.util.regex.MatchResult match, java.lang.String line)
-
processAddLine
private void processAddLine(java.util.regex.MatchResult match, java.lang.String line)
-
processDelLine
private void processDelLine(java.util.regex.MatchResult match, java.lang.String line)
-
processChunk
private void processChunk(java.util.regex.MatchResult match, java.lang.String chunkStart)
-
toInteger
private static java.lang.Integer toInteger(java.util.regex.MatchResult match, int group, int defValue) throws java.lang.NumberFormatException
- Throws:
java.lang.NumberFormatException
-
processIndex
private void processIndex(java.util.regex.MatchResult match, java.lang.String line)
-
processFromFile
private void processFromFile(java.util.regex.MatchResult match, java.lang.String line)
-
processToFile
private void processToFile(java.util.regex.MatchResult match, java.lang.String line)
-
processRenameFrom
private void processRenameFrom(java.util.regex.MatchResult match, java.lang.String line)
-
processRenameTo
private void processRenameTo(java.util.regex.MatchResult match, java.lang.String line)
-
processNewFileMode
private void processNewFileMode(java.util.regex.MatchResult match, java.lang.String line)
-
processDeletedFileMode
private void processDeletedFileMode(java.util.regex.MatchResult match, java.lang.String line)
-
extractFileName
private java.lang.String extractFileName(java.lang.String _line)
-
extractTimestamp
private java.lang.String extractTimestamp(java.lang.String line)
-
-