[serde-*] Make data readers and writers AutoCloseable
This commit is contained in:
@@ -8,7 +8,7 @@ import org.jspecify.annotations.Nullable;
|
||||
|
||||
@Getter
|
||||
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
public class DelegatingTweedDataVisitor implements TweedDataVisitor {
|
||||
public class DelegatingTweedDataWriter implements TweedDataWriter {
|
||||
protected final TweedDataVisitor delegate;
|
||||
|
||||
@Override
|
||||
@@ -115,4 +115,11 @@ public class DelegatingTweedDataVisitor implements TweedDataVisitor {
|
||||
public void visitDecoration(TweedDataDecoration decoration) {
|
||||
delegate.visitDecoration(decoration);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws Exception {
|
||||
if (delegate instanceof AutoCloseable) {
|
||||
((AutoCloseable) delegate).close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package de.siphalor.tweed5.dataapi.api;
|
||||
|
||||
public interface TweedDataReader {
|
||||
public interface TweedDataReader extends AutoCloseable {
|
||||
TweedDataToken peekToken() throws TweedDataReadException;
|
||||
TweedDataToken readToken() throws TweedDataReadException;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package de.siphalor.tweed5.dataapi.api;
|
||||
|
||||
public interface TweedDataWriter extends TweedDataVisitor, AutoCloseable {
|
||||
}
|
||||
Reference in New Issue
Block a user