package com.revolsys.record.io.format.json;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import com.revolsys.collection.map.MapEx;
import com.revolsys.io.AbstractReader;
import com.revolsys.io.FileUtil;
import com.revolsys.io.map.MapReader;
public class JsonMapReader extends AbstractReader<MapEx> implements MapReader {
private final java.io.Reader in;
private Iterator<MapEx> iterator;
private boolean single = false;
public JsonMapReader(final InputStream in) {
this.in = FileUtil.newUtf8Reader(in);
}
public JsonMapReader(final java.io.Reader in) {
this.in = in;
}
public JsonMapReader(final java.io.Reader in, final boolean single) {
this.in = in;
this.single = single;
}
@Override
public void close() {
FileUtil.closeSilent(this.in);
}
@Override
public Iterator<MapEx> iterator() {
if (this.iterator == null) {
try {
this.iterator = new JsonMapIterator(this.in, this.single);
} catch (final IOException e) {
throw new IllegalArgumentException("Unable to create Iterator:" + e.getMessage(), e);
}
}
return this.iterator;
}
@Override
public void open() {
}
}