Skip to content

Commit 77c4da5

Browse files
authored
Reverting removal of NullOutputStream for backwards compatibility
2 parents e061403 + e614df6 commit 77c4da5

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Eclipse Public License v. 2.0, which is available at
6+
* http://www.eclipse.org/legal/epl-2.0.
7+
*
8+
* This Source Code may also be made available under the following Secondary
9+
* Licenses when the conditions for such availability set forth in the
10+
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
11+
* version 2 with the GNU Classpath Exception, which is available at
12+
* https://www.gnu.org/software/classpath/license.html.
13+
*
14+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15+
*/
16+
17+
package org.glassfish.jersey.message.internal;
18+
19+
import java.io.IOException;
20+
import java.io.OutputStream;
21+
import java.util.Objects;
22+
23+
import org.glassfish.jersey.internal.LocalizationMessages;
24+
25+
/**
26+
* Since JDK 11 is replaced by {@link OutputStream#nullOutputStream()}
27+
*/
28+
@Deprecated(since = "3.1.7", forRemoval = true)
29+
public class NullOutputStream extends OutputStream {
30+
31+
private volatile boolean isClosed;
32+
33+
@Override
34+
public void write(int b) throws IOException {
35+
checkClosed();
36+
}
37+
38+
@Override
39+
public void write(byte[] b, int off, int len) throws IOException {
40+
checkClosed();
41+
Objects.checkFromIndexSize(off, len, b.length);
42+
}
43+
44+
@Override
45+
public void flush() throws IOException {
46+
checkClosed();
47+
}
48+
49+
private void checkClosed() throws IOException {
50+
if (isClosed) {
51+
throw new IOException(LocalizationMessages.OUTPUT_STREAM_CLOSED());
52+
}
53+
}
54+
55+
@Override
56+
public void close() throws IOException {
57+
isClosed = true;
58+
}
59+
}

0 commit comments

Comments
 (0)