Skip to content

Commit b744eff

Browse files
committed
Introduce BsonWriterDecorator superclass
JAVA-3328
1 parent 49b3b92 commit b744eff

File tree

2 files changed

+284
-240
lines changed

2 files changed

+284
-240
lines changed
Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
/*
2+
* Copyright 2008-present MongoDB, Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.mongodb.internal.connection;
18+
19+
import org.bson.BsonBinary;
20+
import org.bson.BsonDbPointer;
21+
import org.bson.BsonReader;
22+
import org.bson.BsonRegularExpression;
23+
import org.bson.BsonTimestamp;
24+
import org.bson.BsonWriter;
25+
import org.bson.types.Decimal128;
26+
import org.bson.types.ObjectId;
27+
28+
import static org.bson.assertions.Assertions.notNull;
29+
30+
public class BsonWriterDecorator implements BsonWriter {
31+
private final BsonWriter bsonWriter;
32+
33+
BsonWriterDecorator(final BsonWriter bsonWriter) {
34+
this.bsonWriter = notNull("bsonWriter", bsonWriter);
35+
}
36+
37+
BsonWriter getBsonWriter() {
38+
return bsonWriter;
39+
}
40+
41+
@Override
42+
public void writeStartDocument(final String name) {
43+
bsonWriter.writeStartDocument(name);
44+
}
45+
46+
@Override
47+
public void writeStartDocument() {
48+
bsonWriter.writeStartDocument();
49+
}
50+
51+
@Override
52+
public void writeEndDocument() {
53+
bsonWriter.writeEndDocument();
54+
}
55+
56+
@Override
57+
public void writeStartArray(final String name) {
58+
bsonWriter.writeStartArray(name);
59+
}
60+
61+
@Override
62+
public void writeStartArray() {
63+
bsonWriter.writeStartArray();
64+
}
65+
66+
@Override
67+
public void writeEndArray() {
68+
bsonWriter.writeEndArray();
69+
}
70+
71+
@Override
72+
public void writeBinaryData(final String name, final BsonBinary binary) {
73+
bsonWriter.writeBinaryData(name, binary);
74+
}
75+
76+
@Override
77+
public void writeBinaryData(final BsonBinary binary) {
78+
bsonWriter.writeBinaryData(binary);
79+
}
80+
81+
@Override
82+
public void writeBoolean(final String name, final boolean value) {
83+
bsonWriter.writeBoolean(name, value);
84+
}
85+
86+
@Override
87+
public void writeBoolean(final boolean value) {
88+
bsonWriter.writeBoolean(value);
89+
}
90+
91+
@Override
92+
public void writeDateTime(final String name, final long value) {
93+
bsonWriter.writeDateTime(name, value);
94+
}
95+
96+
@Override
97+
public void writeDateTime(final long value) {
98+
bsonWriter.writeDateTime(value);
99+
}
100+
101+
@Override
102+
public void writeDBPointer(final String name, final BsonDbPointer value) {
103+
bsonWriter.writeDBPointer(name, value);
104+
}
105+
106+
@Override
107+
public void writeDBPointer(final BsonDbPointer value) {
108+
bsonWriter.writeDBPointer(value);
109+
}
110+
111+
@Override
112+
public void writeDouble(final String name, final double value) {
113+
bsonWriter.writeDouble(name, value);
114+
}
115+
116+
@Override
117+
public void writeDouble(final double value) {
118+
bsonWriter.writeDouble(value);
119+
}
120+
121+
@Override
122+
public void writeInt32(final String name, final int value) {
123+
bsonWriter.writeInt32(name, value);
124+
}
125+
126+
@Override
127+
public void writeInt32(final int value) {
128+
bsonWriter.writeInt32(value);
129+
}
130+
131+
@Override
132+
public void writeInt64(final String name, final long value) {
133+
bsonWriter.writeInt64(name, value);
134+
}
135+
136+
@Override
137+
public void writeInt64(final long value) {
138+
bsonWriter.writeInt64(value);
139+
}
140+
141+
@Override
142+
public void writeDecimal128(final Decimal128 value) {
143+
bsonWriter.writeDecimal128(value);
144+
}
145+
146+
@Override
147+
public void writeDecimal128(final String name, final Decimal128 value) {
148+
bsonWriter.writeDecimal128(name, value);
149+
}
150+
151+
@Override
152+
public void writeJavaScript(final String name, final String code) {
153+
bsonWriter.writeJavaScript(name, code);
154+
}
155+
156+
@Override
157+
public void writeJavaScript(final String code) {
158+
bsonWriter.writeJavaScript(code);
159+
}
160+
161+
@Override
162+
public void writeJavaScriptWithScope(final String name, final String code) {
163+
bsonWriter.writeJavaScriptWithScope(name, code);
164+
}
165+
166+
@Override
167+
public void writeJavaScriptWithScope(final String code) {
168+
bsonWriter.writeJavaScriptWithScope(code);
169+
}
170+
171+
@Override
172+
public void writeMaxKey(final String name) {
173+
bsonWriter.writeMaxKey(name);
174+
}
175+
176+
@Override
177+
public void writeMaxKey() {
178+
bsonWriter.writeMaxKey();
179+
}
180+
181+
@Override
182+
public void writeMinKey(final String name) {
183+
bsonWriter.writeMinKey(name);
184+
}
185+
186+
@Override
187+
public void writeMinKey() {
188+
bsonWriter.writeMinKey();
189+
}
190+
191+
@Override
192+
public void writeName(final String name) {
193+
bsonWriter.writeName(name);
194+
}
195+
196+
@Override
197+
public void writeNull(final String name) {
198+
bsonWriter.writeNull(name);
199+
}
200+
201+
@Override
202+
public void writeNull() {
203+
bsonWriter.writeNull();
204+
}
205+
206+
@Override
207+
public void writeObjectId(final String name, final ObjectId objectId) {
208+
bsonWriter.writeObjectId(name, objectId);
209+
}
210+
211+
@Override
212+
public void writeObjectId(final ObjectId objectId) {
213+
bsonWriter.writeObjectId(objectId);
214+
}
215+
216+
@Override
217+
public void writeRegularExpression(final String name, final BsonRegularExpression regularExpression) {
218+
bsonWriter.writeRegularExpression(name, regularExpression);
219+
}
220+
221+
@Override
222+
public void writeRegularExpression(final BsonRegularExpression regularExpression) {
223+
bsonWriter.writeRegularExpression(regularExpression);
224+
}
225+
226+
@Override
227+
public void writeString(final String name, final String value) {
228+
bsonWriter.writeString(name, value);
229+
}
230+
231+
@Override
232+
public void writeString(final String value) {
233+
bsonWriter.writeString(value);
234+
}
235+
236+
@Override
237+
public void writeSymbol(final String name, final String value) {
238+
bsonWriter.writeSymbol(name, value);
239+
}
240+
241+
@Override
242+
public void writeSymbol(final String value) {
243+
bsonWriter.writeSymbol(value);
244+
}
245+
246+
@Override
247+
public void writeTimestamp(final String name, final BsonTimestamp value) {
248+
bsonWriter.writeTimestamp(name, value);
249+
}
250+
251+
@Override
252+
public void writeTimestamp(final BsonTimestamp value) {
253+
bsonWriter.writeTimestamp(value);
254+
}
255+
256+
@Override
257+
public void writeUndefined(final String name) {
258+
bsonWriter.writeUndefined(name);
259+
}
260+
261+
@Override
262+
public void writeUndefined() {
263+
bsonWriter.writeUndefined();
264+
}
265+
266+
@Override
267+
public void pipe(final BsonReader reader) {
268+
bsonWriter.pipe(reader);
269+
}
270+
271+
@Override
272+
public void flush() {
273+
bsonWriter.flush();
274+
}
275+
}

0 commit comments

Comments
 (0)