CPD Results
The following document contains the results of PMD's CPD 7.0.0.
Duplications
File |
Line |
org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java |
136 |
org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java |
153 |
public long skip(long n) throws IOException {
if (n < 0L) {
throw new IllegalArgumentException("skip value is negative");
}
for (long i = 0; i < n; i++) {
if (read() == -1) {
return i;
}
}
return n;
}
/**
* Reads characters into a portion of an array. This method will block until some input is available, an I/O error
* occurs, or the end of the stream is reached.
*
* @param cbuf Destination buffer to write characters to. Must not be <code>null</code>.
* @param off Offset at which to start storing characters.
* @param len Maximum number of characters to read.
* @return the number of characters read, or -1 if the end of the stream has been reached
* @throws IOException If an I/O error occurs
*/
@Override
public int read(char[] cbuf, int off, int len) throws IOException {
for (int i = 0; i < len; i++) {
int ch = read();
if (ch == -1) {
if (i == 0) {
return -1;
} else {
return i;
}
}
cbuf[off + i] = (char) ch;
}
return len;
}
/**
* Returns the next character in the filtered stream, replacing tokens from the original stream.
*
* @return the next character in the resulting stream, or -1 if the end of the resulting stream has been reached
* @throws IOException if the underlying stream throws an IOException during reading
*/
@Override
public int read() throws IOException {
if (replaceIndex > 0) {
return replaceData.charAt(replaceData.length() - (replaceIndex--));
}
if (eof) {
return -1;
} |
File |
Line |
org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java |
256 |
org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java |
286 |
if (!foundToken) {
in.reset();
return in.read();
}
// we're committed, find the end token, EOL or EOF
key.append(beginToken);
in.reset();
in.skip(beginToken.length());
ch = in.read();
int endTokenSize = endToken.length();
int end = endTokenSize;
do {
if (ch == -1) {
break;
} else if (ch == '\n' && !supportMultiLineFiltering) {
// EOL
key.append((char) ch);
break;
}
key.append((char) ch);
if (ch == this.endToken.charAt(endTokenSize - end)) {
end--;
if (end == 0) {
break;
}
} else {
end = endTokenSize;
}
ch = in.read();
} while (true); |
File |
Line |
org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java |
190 |
org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java |
207 |
in.mark(markLength);
int ch = in.read();
if (ch == -1 || (ch == '\n' && !supportMultiLineFiltering)) {
return ch;
}
boolean inEscape = useEscape && ch == getEscapeString().charAt(0);
StringBuilder key = new StringBuilder();
// have we found an escape string?
if (inEscape) {
for (int i = 0; i < getEscapeString().length(); i++) {
key.append((char) ch);
if (ch != getEscapeString().charAt(i) || ch == -1 || (ch == '\n' && !supportMultiLineFiltering)) { |