1616package org .culturegraph .mf .stream .reader ;
1717
1818import org .culturegraph .mf .framework .ObjectPipe ;
19+ import org .culturegraph .mf .framework .ObjectReceiver ;
1920import org .culturegraph .mf .framework .StreamReceiver ;
2021import org .culturegraph .mf .stream .converter .LineReader ;
2122
2526 *
2627 * @param <D> type of the decoder used
2728 */
28- public class ReaderBase <D extends ObjectPipe <String , StreamReceiver >> implements Reader {
29- private final LineReader lineReader ;
29+ public class ReaderBase <D extends ObjectPipe <String , StreamReceiver >> implements Reader {
30+ private final ObjectPipe < java . io . Reader , ObjectReceiver < String >> recordReader ;
3031 private final D decoder ;
31-
32- public ReaderBase (final D decoder ) {
32+
33+ public ReaderBase (final ObjectPipe <java .io .Reader , ObjectReceiver <String >> recordReader ,
34+ final D decoder ) {
3335 super ();
34-
36+
37+ this .recordReader = recordReader ;
3538 this .decoder = decoder ;
36- lineReader = new LineReader ();
37- lineReader .setReceiver (this .decoder );
39+ this .recordReader .setReceiver (this .decoder );
40+ }
41+
42+ public ReaderBase (final D decoder ) {
43+ this (new LineReader (), decoder );
3844 }
39-
45+
4046 public final D getDecoder () {
4147 return decoder ;
4248 }
@@ -46,10 +52,10 @@ public final <R extends StreamReceiver> R setReceiver(final R receiver) {
4652 decoder .setReceiver (receiver );
4753 return receiver ;
4854 }
49-
55+
5056 @ Override
5157 public final void process (final java .io .Reader reader ) {
52- lineReader .process (reader );
58+ recordReader .process (reader );
5359 }
5460
5561 @ Override
@@ -59,12 +65,12 @@ public final void read(final String entry) {
5965
6066 @ Override
6167 public final void resetStream () {
62- lineReader .resetStream ();
68+ recordReader .resetStream ();
6369 }
64-
70+
6571 @ Override
6672 public final void closeStream () {
67- lineReader .closeStream ();
73+ recordReader .closeStream ();
6874 }
69-
75+
7076}
0 commit comments