Closeable
, AutoCloseable
, BsonWriter
BsonBinaryWriter
, BsonDocumentWriter
, JsonWriter
public abstract class AbstractBsonWriter extends Object implements BsonWriter, Closeable
Modifier and Type | Class | Description |
---|---|---|
class |
AbstractBsonWriter.Context |
The context for the writer.
|
protected class |
AbstractBsonWriter.Mark |
Capture the current state of this writer - its
AbstractBsonWriter.Context , AbstractBsonWriter.State , field name and depth. |
static class |
AbstractBsonWriter.State |
The state of a writer.
|
Modifier | Constructor | Description |
---|---|---|
protected |
AbstractBsonWriter(BsonWriterSettings settings) |
Initializes a new instance of the BsonWriter class.
|
protected |
AbstractBsonWriter(BsonWriterSettings settings,
FieldNameValidator validator) |
Initializes a new instance of the BsonWriter class.
|
Modifier and Type | Method | Description |
---|---|---|
protected boolean |
abortPipe() |
Return true if the current execution of the pipe method should be aborted.
|
protected void |
checkPreconditions(String methodName,
AbstractBsonWriter.State... validStates) |
Checks the writer is in the correct state.
|
protected boolean |
checkState(AbstractBsonWriter.State[] validStates) |
Checks if this writer's current state is in the list of given states.
|
void |
close() |
|
protected abstract void |
doWriteBinaryData(BsonBinary value) |
Handles the logic of writing a
BsonBinary value |
protected abstract void |
doWriteBoolean(boolean value) |
Handles the logic of writing a boolean value
|
protected abstract void |
doWriteDateTime(long value) |
Handles the logic of writing a date time value
|
protected abstract void |
doWriteDBPointer(BsonDbPointer value) |
Handles the logic of writing a DbPointer value
|
protected abstract void |
doWriteDecimal128(Decimal128 value) |
Handles the logic of writing a Decimal128 value
|
protected abstract void |
doWriteDouble(double value) |
Handles the logic of writing a Double value
|
protected abstract void |
doWriteEndArray() |
Handles the logic of writing the end of an array
|
protected abstract void |
doWriteEndDocument() |
Handles the logic of writing the end of a document
|
protected abstract void |
doWriteInt32(int value) |
Handles the logic of writing an int32 value
|
protected abstract void |
doWriteInt64(long value) |
Handles the logic of writing an int64 value
|
protected abstract void |
doWriteJavaScript(String value) |
Handles the logic of writing a JavaScript function
|
protected abstract void |
doWriteJavaScriptWithScope(String value) |
Handles the logic of writing a scoped JavaScript function
|
protected abstract void |
doWriteMaxKey() |
Handles the logic of writing a Max key
|
protected abstract void |
doWriteMinKey() |
Handles the logic of writing a Min key
|
protected void |
doWriteName(String name) |
Handles the logic of writing the element name.
|
protected abstract void |
doWriteNull() |
Handles the logic of writing a Null value
|
protected abstract void |
doWriteObjectId(ObjectId value) |
Handles the logic of writing an ObjectId
|
protected abstract void |
doWriteRegularExpression(BsonRegularExpression value) |
Handles the logic of writing a regular expression
|
protected abstract void |
doWriteStartArray() |
Handles the logic to start writing an array
|
protected abstract void |
doWriteStartDocument() |
Handles the logic to start writing a document
|
protected abstract void |
doWriteString(String value) |
Handles the logic of writing a String
|
protected abstract void |
doWriteSymbol(String value) |
Handles the logic of writing a Symbol
|
protected abstract void |
doWriteTimestamp(BsonTimestamp value) |
Handles the logic of writing a timestamp
|
protected abstract void |
doWriteUndefined() |
Handles the logic of writing an Undefined value
|
protected AbstractBsonWriter.Context |
getContext() |
Get the context, which will indicate which state the writer is in, for example which part of a document it's currently writing.
|
protected String |
getName() |
The name of the field being written.
|
protected AbstractBsonWriter.State |
getNextState() |
Returns the next valid state for this writer.
|
protected AbstractBsonWriter.State |
getState() |
Gets the current state of this writer.
|
protected boolean |
isClosed() |
Returns whether this writer has been closed.
|
void |
pipe(BsonReader reader) |
Reads a single document from a BsonReader and writes it to this.
|
void |
pipe(BsonReader reader,
List<BsonElement> extraElements) |
Reads a single document from the given BsonReader and writes it to this, appending the given extra elements to the document.
|
protected void |
pipeExtraElements(List<BsonElement> extraElements) |
Pipe a list of extra element to this writer
|
protected void |
setContext(AbstractBsonWriter.Context context) |
Set the context, which will indicate which state the writer is in, for example which part of a document it's currently writing.
|
protected void |
setState(AbstractBsonWriter.State state) |
Sets the current state of the writer.
|
protected void |
throwInvalidContextType(String methodName,
BsonContextType actualContextType,
BsonContextType... validContextTypes) |
Throws an InvalidOperationException when the method called is not valid for the current ContextType.
|
protected void |
throwInvalidState(String methodName,
AbstractBsonWriter.State... validStates) |
Throws a
BsonInvalidOperationException when the method called is not valid for the current state. |
void |
writeBinaryData(String name,
BsonBinary binary) |
Writes a BSON Binary data element to the writer.
|
void |
writeBinaryData(BsonBinary binary) |
Writes a BSON Binary data element to the writer.
|
void |
writeBoolean(boolean value) |
Writes a BSON Boolean to the writer.
|
void |
writeBoolean(String name,
boolean value) |
Writes a BSON Boolean element to the writer.
|
void |
writeDateTime(long value) |
Writes a BSON DateTime to the writer.
|
void |
writeDateTime(String name,
long value) |
Writes a BSON DateTime element to the writer.
|
void |
writeDBPointer(String name,
BsonDbPointer value) |
Writes a BSON DBPointer element to the writer.
|
void |
writeDBPointer(BsonDbPointer value) |
Writes a BSON DBPointer to the writer.
|
void |
writeDecimal128(String name,
Decimal128 value) |
Writes a BSON Decimal128 element to the writer.
|
void |
writeDecimal128(Decimal128 value) |
Writes a BSON Decimal128 to the writer.
|
void |
writeDouble(double value) |
Writes a BSON Double to the writer.
|
void |
writeDouble(String name,
double value) |
Writes a BSON Double element to the writer.
|
void |
writeEndArray() |
Writes the end of a BSON array to the writer.
|
void |
writeEndDocument() |
Writes the end of a BSON document to the writer.
|
void |
writeInt32(int value) |
Writes a BSON Int32 to the writer.
|
void |
writeInt32(String name,
int value) |
Writes a BSON Int32 element to the writer.
|
void |
writeInt64(long value) |
Writes a BSON Int64 to the writer.
|
void |
writeInt64(String name,
long value) |
Writes a BSON Int64 element to the writer.
|
void |
writeJavaScript(String code) |
Writes a BSON JavaScript to the writer.
|
void |
writeJavaScript(String name,
String code) |
Writes a BSON JavaScript element to the writer.
|
void |
writeJavaScriptWithScope(String code) |
Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope).
|
void |
writeJavaScriptWithScope(String name,
String code) |
Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope).
|
void |
writeMaxKey() |
Writes a BSON MaxKey to the writer.
|
void |
writeMaxKey(String name) |
Writes a BSON MaxKey element to the writer.
|
void |
writeMinKey() |
Writes a BSON MinKey to the writer.
|
void |
writeMinKey(String name) |
Writes a BSON MinKey element to the writer.
|
void |
writeName(String name) |
Writes the name of an element to the writer.
|
void |
writeNull() |
Writes a BSON null to the writer.
|
void |
writeNull(String name) |
Writes a BSON null element to the writer.
|
void |
writeObjectId(String name,
ObjectId objectId) |
Writes a BSON ObjectId element to the writer.
|
void |
writeObjectId(ObjectId objectId) |
Writes a BSON ObjectId to the writer.
|
void |
writeRegularExpression(String name,
BsonRegularExpression regularExpression) |
Writes a BSON regular expression element to the writer.
|
void |
writeRegularExpression(BsonRegularExpression regularExpression) |
Writes a BSON regular expression to the writer.
|
void |
writeStartArray() |
Writes the start of a BSON array to the writer.
|
void |
writeStartArray(String name) |
Writes the start of a BSON array element to the writer.
|
void |
writeStartDocument() |
Writes the start of a BSON document to the writer.
|
void |
writeStartDocument(String name) |
Writes the start of a BSON document element to the writer.
|
void |
writeString(String value) |
Writes a BSON String to the writer.
|
void |
writeString(String name,
String value) |
Writes a BSON String element to the writer.
|
void |
writeSymbol(String value) |
Writes a BSON Symbol to the writer.
|
void |
writeSymbol(String name,
String value) |
Writes a BSON Symbol element to the writer.
|
void |
writeTimestamp(String name,
BsonTimestamp value) |
Writes a BSON Timestamp element to the writer.
|
void |
writeTimestamp(BsonTimestamp value) |
Writes a BSON Timestamp to the writer.
|
void |
writeUndefined() |
Writes a BSON undefined to the writer.
|
void |
writeUndefined(String name) |
Writes a BSON undefined element to the writer.
|
flush
protected AbstractBsonWriter(BsonWriterSettings settings)
settings
- The writer settings.protected AbstractBsonWriter(BsonWriterSettings settings, FieldNameValidator validator)
settings
- The writer settings.validator
- the field name validatorprotected String getName()
protected boolean isClosed()
close()
method has been called.protected void setState(AbstractBsonWriter.State state)
state
- the state to set this writer to.protected AbstractBsonWriter.State getState()
protected AbstractBsonWriter.Context getContext()
protected void setContext(AbstractBsonWriter.Context context)
context
- the new context for this writerprotected abstract void doWriteStartDocument()
protected abstract void doWriteEndDocument()
protected abstract void doWriteStartArray()
protected abstract void doWriteEndArray()
protected abstract void doWriteBinaryData(BsonBinary value)
BsonBinary
valuevalue
- the BsonBinary
value to writeprotected abstract void doWriteBoolean(boolean value)
value
- the boolean
value to writeprotected abstract void doWriteDateTime(long value)
value
- the long
value to writeprotected abstract void doWriteDBPointer(BsonDbPointer value)
value
- the BsonDbPointer
value to writeprotected abstract void doWriteDouble(double value)
value
- the double
value to writeprotected abstract void doWriteInt32(int value)
value
- the int
value to writeprotected abstract void doWriteInt64(long value)
value
- the long
value to writeprotected abstract void doWriteDecimal128(Decimal128 value)
value
- the Decimal128
value to writeprotected abstract void doWriteJavaScript(String value)
value
- the String
value to writeprotected abstract void doWriteJavaScriptWithScope(String value)
value
- the boolean
value to writeprotected abstract void doWriteMaxKey()
protected abstract void doWriteMinKey()
protected abstract void doWriteNull()
protected abstract void doWriteObjectId(ObjectId value)
value
- the ObjectId
value to writeprotected abstract void doWriteRegularExpression(BsonRegularExpression value)
value
- the BsonRegularExpression
value to writeprotected abstract void doWriteString(String value)
value
- the String
value to writeprotected abstract void doWriteSymbol(String value)
value
- the boolean
value to writeprotected abstract void doWriteTimestamp(BsonTimestamp value)
value
- the BsonTimestamp
value to writeprotected abstract void doWriteUndefined()
public void writeStartDocument(String name)
BsonWriter
writeStartDocument
in interface BsonWriter
name
- The name of the element.public void writeStartDocument()
BsonWriter
writeStartDocument
in interface BsonWriter
public void writeEndDocument()
BsonWriter
writeEndDocument
in interface BsonWriter
public void writeStartArray(String name)
BsonWriter
writeStartArray
in interface BsonWriter
name
- The name of the element.public void writeStartArray()
BsonWriter
writeStartArray
in interface BsonWriter
public void writeEndArray()
BsonWriter
writeEndArray
in interface BsonWriter
public void writeBinaryData(String name, BsonBinary binary)
BsonWriter
writeBinaryData
in interface BsonWriter
name
- The name of the element.binary
- The Binary data value.public void writeBinaryData(BsonBinary binary)
BsonWriter
writeBinaryData
in interface BsonWriter
binary
- The Binary data.public void writeBoolean(String name, boolean value)
BsonWriter
writeBoolean
in interface BsonWriter
name
- The name of the element.value
- The Boolean value.public void writeBoolean(boolean value)
BsonWriter
writeBoolean
in interface BsonWriter
value
- The Boolean value.public void writeDateTime(String name, long value)
BsonWriter
writeDateTime
in interface BsonWriter
name
- The name of the element.value
- The number of milliseconds since the Unix epoch.public void writeDateTime(long value)
BsonWriter
writeDateTime
in interface BsonWriter
value
- The number of milliseconds since the Unix epoch.public void writeDBPointer(String name, BsonDbPointer value)
BsonWriter
writeDBPointer
in interface BsonWriter
name
- The name of the element.value
- The DBPointer to writepublic void writeDBPointer(BsonDbPointer value)
BsonWriter
writeDBPointer
in interface BsonWriter
value
- The DBPointer to writepublic void writeDouble(String name, double value)
BsonWriter
writeDouble
in interface BsonWriter
name
- The name of the element.value
- The Double value.public void writeDouble(double value)
BsonWriter
writeDouble
in interface BsonWriter
value
- The Double value.public void writeInt32(String name, int value)
BsonWriter
writeInt32
in interface BsonWriter
name
- The name of the element.value
- The Int32 value.public void writeInt32(int value)
BsonWriter
writeInt32
in interface BsonWriter
value
- The Int32 value.public void writeInt64(String name, long value)
BsonWriter
writeInt64
in interface BsonWriter
name
- The name of the element.value
- The Int64 value.public void writeInt64(long value)
BsonWriter
writeInt64
in interface BsonWriter
value
- The Int64 value.public void writeDecimal128(Decimal128 value)
BsonWriter
writeDecimal128
in interface BsonWriter
value
- The Decimal128 value.public void writeDecimal128(String name, Decimal128 value)
BsonWriter
writeDecimal128
in interface BsonWriter
name
- The name of the element.value
- The Decimal128 value.public void writeJavaScript(String name, String code)
BsonWriter
writeJavaScript
in interface BsonWriter
name
- The name of the element.code
- The JavaScript code.public void writeJavaScript(String code)
BsonWriter
writeJavaScript
in interface BsonWriter
code
- The JavaScript code.public void writeJavaScriptWithScope(String name, String code)
BsonWriter
writeJavaScriptWithScope
in interface BsonWriter
name
- The name of the element.code
- The JavaScript code.public void writeJavaScriptWithScope(String code)
BsonWriter
writeJavaScriptWithScope
in interface BsonWriter
code
- The JavaScript code.public void writeMaxKey(String name)
BsonWriter
writeMaxKey
in interface BsonWriter
name
- The name of the element.public void writeMaxKey()
BsonWriter
writeMaxKey
in interface BsonWriter
public void writeMinKey(String name)
BsonWriter
writeMinKey
in interface BsonWriter
name
- The name of the element.public void writeMinKey()
BsonWriter
writeMinKey
in interface BsonWriter
public void writeName(String name)
BsonWriter
writeName
in interface BsonWriter
name
- The name of the element.protected void doWriteName(String name)
name
- the name of the elementpublic void writeNull(String name)
BsonWriter
writeNull
in interface BsonWriter
name
- The name of the element.public void writeNull()
BsonWriter
writeNull
in interface BsonWriter
public void writeObjectId(String name, ObjectId objectId)
BsonWriter
writeObjectId
in interface BsonWriter
name
- The name of the element.objectId
- The ObjectId value.public void writeObjectId(ObjectId objectId)
BsonWriter
writeObjectId
in interface BsonWriter
objectId
- The ObjectId value.public void writeRegularExpression(String name, BsonRegularExpression regularExpression)
BsonWriter
writeRegularExpression
in interface BsonWriter
name
- The name of the element.regularExpression
- The RegularExpression value.public void writeRegularExpression(BsonRegularExpression regularExpression)
BsonWriter
writeRegularExpression
in interface BsonWriter
regularExpression
- the regular expression to write.public void writeString(String name, String value)
BsonWriter
writeString
in interface BsonWriter
name
- The name of the element.value
- The String value.public void writeString(String value)
BsonWriter
writeString
in interface BsonWriter
value
- The String value.public void writeSymbol(String name, String value)
BsonWriter
writeSymbol
in interface BsonWriter
name
- The name of the element.value
- The symbol.public void writeSymbol(String value)
BsonWriter
writeSymbol
in interface BsonWriter
value
- The symbol.public void writeTimestamp(String name, BsonTimestamp value)
BsonWriter
writeTimestamp
in interface BsonWriter
name
- The name of the element.value
- The combined timestamp/increment value.public void writeTimestamp(BsonTimestamp value)
BsonWriter
writeTimestamp
in interface BsonWriter
value
- The combined timestamp/increment value.public void writeUndefined(String name)
BsonWriter
writeUndefined
in interface BsonWriter
name
- The name of the element.public void writeUndefined()
BsonWriter
writeUndefined
in interface BsonWriter
protected AbstractBsonWriter.State getNextState()
AbstractBsonWriter.State.VALUE
to AbstractBsonWriter.State.NAME
once a value
is written.State
protected boolean checkState(AbstractBsonWriter.State[] validStates)
validStates
- an array of State
s to compare this writer's state to.protected void checkPreconditions(String methodName, AbstractBsonWriter.State... validStates)
IllegalStateException
if the writer is closed. Throws BsonInvalidOperationException
if the method is trying to do something that is not permitted in the current state.methodName
- the name of the method being performed that checks are being performed forvalidStates
- the list of valid states for this operationthrowInvalidState(String, org.bson.AbstractBsonWriter.State...)
protected void throwInvalidContextType(String methodName, BsonContextType actualContextType, BsonContextType... validContextTypes)
methodName
- The name of the method.actualContextType
- The actual ContextType.validContextTypes
- The valid ContextTypes.BsonInvalidOperationException
- when the method called is not valid for the current ContextType.protected void throwInvalidState(String methodName, AbstractBsonWriter.State... validStates)
BsonInvalidOperationException
when the method called is not valid for the current state.methodName
- The name of the method.validStates
- The valid states.BsonInvalidOperationException
- when the method called is not valid for the current state.public void close()
close
in interface AutoCloseable
close
in interface Closeable
public void pipe(BsonReader reader)
BsonWriter
pipe
in interface BsonWriter
reader
- The source.public void pipe(BsonReader reader, List<BsonElement> extraElements)
reader
- the source of the documentextraElements
- the extra elements to append to the documentprotected void pipeExtraElements(List<BsonElement> extraElements)
extraElements
- the extra elementsprotected boolean abortPipe()