public abstract class AbstractBsonWriter extends Object implements BsonWriter, Closeable
| Modifier and Type | Class and 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 and 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 and Description |
|---|---|
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.
|
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(BsonBinary binary)
Writes a BSON Binary data element to the writer.
|
void |
writeBinaryData(String name,
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(BsonDbPointer value)
Writes a BSON DBPointer to the writer.
|
void |
writeDBPointer(String name,
BsonDbPointer value)
Writes a BSON DBPointer element to the writer.
|
void |
writeDecimal128(Decimal128 value)
Writes a BSON Decimal128 to the writer.
|
void |
writeDecimal128(String name,
Decimal128 value)
Writes a BSON Decimal128 element 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(ObjectId objectId)
Writes a BSON ObjectId to the writer.
|
void |
writeObjectId(String name,
ObjectId objectId)
Writes a BSON ObjectId element to the writer.
|
void |
writeRegularExpression(BsonRegularExpression regularExpression)
Writes a BSON regular expression to the writer.
|
void |
writeRegularExpression(String name,
BsonRegularExpression regularExpression)
Writes a BSON regular expression element 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(BsonTimestamp value)
Writes a BSON Timestamp to the writer.
|
void |
writeTimestamp(String name,
BsonTimestamp value)
Writes a BSON Timestamp element to the writer.
|
void |
writeUndefined()
Writes a BSON undefined to the writer.
|
void |
writeUndefined(String name)
Writes a BSON undefined element to the writer.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitflushprotected 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)
BsonWriterwriteStartDocument in interface BsonWritername - The name of the element.public void writeStartDocument()
BsonWriterwriteStartDocument in interface BsonWriterpublic void writeEndDocument()
BsonWriterwriteEndDocument in interface BsonWriterpublic void writeStartArray(String name)
BsonWriterwriteStartArray in interface BsonWritername - The name of the element.public void writeStartArray()
BsonWriterwriteStartArray in interface BsonWriterpublic void writeEndArray()
BsonWriterwriteEndArray in interface BsonWriterpublic void writeBinaryData(String name, BsonBinary binary)
BsonWriterwriteBinaryData in interface BsonWritername - The name of the element.binary - The Binary data value.public void writeBinaryData(BsonBinary binary)
BsonWriterwriteBinaryData in interface BsonWriterbinary - The Binary data.public void writeBoolean(String name, boolean value)
BsonWriterwriteBoolean in interface BsonWritername - The name of the element.value - The Boolean value.public void writeBoolean(boolean value)
BsonWriterwriteBoolean in interface BsonWritervalue - The Boolean value.public void writeDateTime(String name, long value)
BsonWriterwriteDateTime in interface BsonWritername - The name of the element.value - The number of milliseconds since the Unix epoch.public void writeDateTime(long value)
BsonWriterwriteDateTime in interface BsonWritervalue - The number of milliseconds since the Unix epoch.public void writeDBPointer(String name, BsonDbPointer value)
BsonWriterwriteDBPointer in interface BsonWritername - The name of the element.value - The DBPointer to writepublic void writeDBPointer(BsonDbPointer value)
BsonWriterwriteDBPointer in interface BsonWritervalue - The DBPointer to writepublic void writeDouble(String name, double value)
BsonWriterwriteDouble in interface BsonWritername - The name of the element.value - The Double value.public void writeDouble(double value)
BsonWriterwriteDouble in interface BsonWritervalue - The Double value.public void writeInt32(String name, int value)
BsonWriterwriteInt32 in interface BsonWritername - The name of the element.value - The Int32 value.public void writeInt32(int value)
BsonWriterwriteInt32 in interface BsonWritervalue - The Int32 value.public void writeInt64(String name, long value)
BsonWriterwriteInt64 in interface BsonWritername - The name of the element.value - The Int64 value.public void writeInt64(long value)
BsonWriterwriteInt64 in interface BsonWritervalue - The Int64 value.public void writeDecimal128(Decimal128 value)
BsonWriterwriteDecimal128 in interface BsonWritervalue - The Decimal128 value.public void writeDecimal128(String name, Decimal128 value)
BsonWriterwriteDecimal128 in interface BsonWritername - The name of the element.value - The Decimal128 value.public void writeJavaScript(String name, String code)
BsonWriterwriteJavaScript in interface BsonWritername - The name of the element.code - The JavaScript code.public void writeJavaScript(String code)
BsonWriterwriteJavaScript in interface BsonWritercode - The JavaScript code.public void writeJavaScriptWithScope(String name, String code)
BsonWriterwriteJavaScriptWithScope in interface BsonWritername - The name of the element.code - The JavaScript code.public void writeJavaScriptWithScope(String code)
BsonWriterwriteJavaScriptWithScope in interface BsonWritercode - The JavaScript code.public void writeMaxKey(String name)
BsonWriterwriteMaxKey in interface BsonWritername - The name of the element.public void writeMaxKey()
BsonWriterwriteMaxKey in interface BsonWriterpublic void writeMinKey(String name)
BsonWriterwriteMinKey in interface BsonWritername - The name of the element.public void writeMinKey()
BsonWriterwriteMinKey in interface BsonWriterpublic void writeName(String name)
BsonWriterwriteName in interface BsonWritername - The name of the element.protected void doWriteName(String name)
name - the name of the elementpublic void writeNull(String name)
BsonWriterwriteNull in interface BsonWritername - The name of the element.public void writeNull()
BsonWriterwriteNull in interface BsonWriterpublic void writeObjectId(String name, ObjectId objectId)
BsonWriterwriteObjectId in interface BsonWritername - The name of the element.objectId - The ObjectId value.public void writeObjectId(ObjectId objectId)
BsonWriterwriteObjectId in interface BsonWriterobjectId - The ObjectId value.public void writeRegularExpression(String name, BsonRegularExpression regularExpression)
BsonWriterwriteRegularExpression in interface BsonWritername - The name of the element.regularExpression - The RegularExpression value.public void writeRegularExpression(BsonRegularExpression regularExpression)
BsonWriterwriteRegularExpression in interface BsonWriterregularExpression - the regular expression to write.public void writeString(String name, String value)
BsonWriterwriteString in interface BsonWritername - The name of the element.value - The String value.public void writeString(String value)
BsonWriterwriteString in interface BsonWritervalue - The String value.public void writeSymbol(String name, String value)
BsonWriterwriteSymbol in interface BsonWritername - The name of the element.value - The symbol.public void writeSymbol(String value)
BsonWriterwriteSymbol in interface BsonWritervalue - The symbol.public void writeTimestamp(String name, BsonTimestamp value)
BsonWriterwriteTimestamp in interface BsonWritername - The name of the element.value - The combined timestamp/increment value.public void writeTimestamp(BsonTimestamp value)
BsonWriterwriteTimestamp in interface BsonWritervalue - The combined timestamp/increment value.public void writeUndefined(String name)
BsonWriterwriteUndefined in interface BsonWritername - The name of the element.public void writeUndefined()
BsonWriterwriteUndefined in interface BsonWriterprotected AbstractBsonWriter.State getNextState()
AbstractBsonWriter.State.VALUE to AbstractBsonWriter.State.NAME once a value
is written.Stateprotected boolean checkState(AbstractBsonWriter.State[] validStates)
validStates - an array of States 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 Closeableclose in interface AutoCloseablepublic void pipe(BsonReader reader)
BsonWriterpipe in interface BsonWriterreader - The source.