@Test void testRemovalWithSpaceConsolidation() { RemoveNewLinesMapper mapper = new RemoveNewLinesMapper(); mapper.NEWLINE_SEPARATORS = UNIX; mapper.newLineAtEnd = false; mapper.combineSpaces = true; byte[] b = { ' ', ' ', ' ', 'a', ' ', ' ', 'b', '\n', 'c', ' ', 'd', ' ', '\n', ' ', ' '}; byte[] r = mapper.apply(b); assertArrayEquals(new byte[]{' ', 'a', ' ', 'b', 'c', ' ', 'd', ' ', ' '}, r); mapper.NEWLINE_SEPARATORS = WINDOWS; b = new byte[] {' ', ' ', ' ', 'a', ' ', ' ', 'b', '\r', '\n', 'c', ' ', 'd', ' ', '\r', '\n', ' ', ' '}; r = mapper.apply(b); assertArrayEquals(new byte[]{' ', 'a', ' ', 'b', 'c', ' ', 'd', ' ', ' '}, r); }
@Override public byte[] apply(byte[] bytes) { final ByteBuffer buffer = ByteBuffer.allocate(bytes.length); boolean prevSpace = false; for (byte aByte : bytes) { if (aByte == SPACE) { if (combineSpaces) { prevSpace = true; } else { buffer.put(aByte); } } else { if (combineSpaces && prevSpace) { buffer.put(SPACE); prevSpace = false; } if (!isNewLine(aByte)) { buffer.put(aByte); } } } if (combineSpaces && prevSpace) { buffer.put(SPACE); } if (newLineAtEnd) { buffer.put(NEWLINE_SEPARATORS); } buffer.flip(); byte[] result = new byte[buffer.limit()]; buffer.get(result); return result; }
RemoveNewLinesMapper implements ByteArrayMapper, Configurable { @Override public byte[] apply(byte[] bytes) { final ByteBuffer buffer = ByteBuffer.allocate(bytes.length); boolean prevSpace = false; for (byte aByte : bytes) { if (aByte == SPACE) { if (combineSpaces) { prevSpace = true; } else { buffer.put(aByte); } } else { if (combineSpaces && prevSpace) { buffer.put(SPACE); prevSpace = false; } if (!isNewLine(aByte)) { buffer.put(aByte); } } } if (combineSpaces && prevSpace) { buffer.put(SPACE); } if (newLineAtEnd) { buffer.put(NEWLINE_SEPARATORS); } buffer.flip(); byte[] result = new byte[buffer.limit()]; buffer.get(result); return result; } }
RemoveNewLinesMapper implements ByteArrayMapper, Configurable { @Override public byte[] apply(byte[] bytes) { final ByteBuffer buffer = ByteBuffer.allocate(bytes.length); boolean prevSpace = false; for (byte aByte : bytes) { if (aByte == SPACE) { if (combineSpaces) { prevSpace = true; } else { buffer.put(aByte); } } else { if (combineSpaces && prevSpace) { buffer.put(SPACE); prevSpace = false; } if (!isNewLine(aByte)) { buffer.put(aByte); } } } if (combineSpaces && prevSpace) { buffer.put(SPACE); } if (newLineAtEnd) { buffer.put(NEWLINE_SEPARATORS); } buffer.flip(); byte[] result = new byte[buffer.limit()]; buffer.get(result); return result; }  }
RemoveNewLinesMapper implements ByteArrayMapper, Configurable { @Override public byte[] apply(byte[] bytes) { final ByteBuffer buffer = ByteBuffer.allocate(bytes.length); boolean prevSpace = false; for (byte aByte : bytes) { if (aByte == SPACE) { if (combineSpaces) { prevSpace = true; } else { buffer.put(aByte); } } else { if (combineSpaces && prevSpace) { buffer.put(SPACE); prevSpace = false; } if (!isNewLine(aByte)) { buffer.put(aByte); } } } if (combineSpaces && prevSpace) { buffer.put(SPACE); } if (newLineAtEnd) { buffer.put(NEWLINE_SEPARATORS); } buffer.flip(); byte[] result = new byte[buffer.limit()]; buffer.get(result); return result; }  @Override byte[] apply(byte[] bytes); @Override void setConfiguration(Configuration cfg); }
RemoveNewLinesMapper implements ByteArrayMapper, Configurable { @Override public byte[] apply(byte[] bytes) { final ByteBuffer buffer = ByteBuffer.allocate(bytes.length); boolean prevSpace = false; for (byte aByte : bytes) { if (aByte == SPACE) { if (combineSpaces) { prevSpace = true; } else { buffer.put(aByte); } } else { if (combineSpaces && prevSpace) { buffer.put(SPACE); prevSpace = false; } if (!isNewLine(aByte)) { buffer.put(aByte); } } } if (combineSpaces && prevSpace) { buffer.put(SPACE); } if (newLineAtEnd) { buffer.put(NEWLINE_SEPARATORS); } buffer.flip(); byte[] result = new byte[buffer.limit()]; buffer.get(result); return result; }  @Override byte[] apply(byte[] bytes); @Override void setConfiguration(Configuration cfg);  }