Interface BinaryWriterEx
-
- All Superinterfaces:
AutoCloseable,BinaryRawWriter,BinaryWriter,DataOutput,ObjectOutput
public interface BinaryWriterEx extends BinaryWriter, BinaryRawWriter, ObjectOutput
Extended writer interface.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]array()voidclose()Cleans resources.BinaryContextcontext()BinarySchemacurrentSchema()voiddoWriteEnumArray(Object[] val)booleanfailIfUnregistered()voidmarshal(Object obj)BinaryWriterExnewWriter(int typeId)Create new writer with same context.BinaryOutputStreamout()voidpopSchema()Pop schema.voidpostWrite(boolean userType, boolean registered)Perform post-write.voidpostWriteHashCode(@Nullable String clsName)Perform post-write hash code update if necessary.voidpreWrite(@Nullable String clsName)Perform pre-write.intreserveInt()Reserve a room for an integer.intschemaId()voidschemaId(int schemaId)booleantryWriteAsHandle(Object obj)Attempts to write the object as a handle.voidwrite(byte[] b, int off, int len)Writes a sub array of bytes.voidwriteBinaryArray(org.apache.ignite.internal.binary.BinaryArray val)voidwriteBinaryEnum(BinaryObjectEx val)voidwriteBinaryObject(@Nullable BinaryObjectEx po)voidwriteBooleanFieldPrimitive(boolean val)intwriteByteArray(InputStream in, int limit)Write byte array from the InputStream.voidwriteByteFieldPrimitive(byte val)voidwriteCharFieldPrimitive(char val)voidwriteClass(Class val)voidwriteDoubleFieldPrimitive(double val)voidwriteField(Object obj, org.apache.ignite.internal.binary.BinaryFieldDescriptor fld)Write field.voidwriteFieldId(int fieldId)Write field ID.voidwriteFloatFieldPrimitive(float val)voidwriteInt(int pos, int val)Write int value at the specific position.voidwriteIntFieldPrimitive(int val)voidwriteLongFieldPrimitive(long val)voidwriteObjectDetached(@Nullable Object obj)voidwriteProxy(Proxy proxy, Class<?>[] intfs)voidwriteShortFieldPrimitive(short val)-
Methods inherited from interface org.apache.ignite.binary.BinaryRawWriter
writeBoolean, writeBooleanArray, writeByte, writeByteArray, writeChar, writeCharArray, writeCollection, writeDate, writeDateArray, writeDecimal, writeDecimalArray, writeDouble, writeDoubleArray, writeEnum, writeEnumArray, writeFloat, writeFloatArray, writeInt, writeIntArray, writeLong, writeLongArray, writeMap, writeObject, writeObjectArray, writeShort, writeShortArray, writeString, writeStringArray, writeTime, writeTimeArray, writeTimestamp, writeTimestampArray, writeUuid, writeUuidArray
-
Methods inherited from interface org.apache.ignite.binary.BinaryWriter
rawWriter, writeBoolean, writeBooleanArray, writeByte, writeByteArray, writeChar, writeCharArray, writeCollection, writeDate, writeDateArray, writeDecimal, writeDecimalArray, writeDouble, writeDoubleArray, writeEnum, writeEnumArray, writeFloat, writeFloatArray, writeInt, writeIntArray, writeLong, writeLongArray, writeMap, writeObject, writeObjectArray, writeShort, writeShortArray, writeString, writeStringArray, writeTime, writeTimeArray, writeTimestamp, writeTimestampArray, writeUuid, writeUuidArray
-
Methods inherited from interface java.io.DataOutput
writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
-
Methods inherited from interface java.io.ObjectOutput
flush, write, write, writeObject
-
-
-
-
Method Detail
-
writeObjectDetached
void writeObjectDetached(@Nullable @Nullable Object obj) throws BinaryObjectException- Parameters:
obj- Object to write.- Throws:
BinaryObjectException- In case of error.
-
out
BinaryOutputStream out()
- Returns:
- Output stream.
-
close
void close()
Cleans resources.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceObjectOutput
-
reserveInt
int reserveInt()
Reserve a room for an integer.- Returns:
- Position in the stream where value is to be written.
-
writeInt
void writeInt(int pos, int val) throws BinaryObjectExceptionWrite int value at the specific position.- Parameters:
pos- Position.val- Value.- Throws:
BinaryObjectException- If failed.
-
failIfUnregistered
boolean failIfUnregistered()
- Returns:
- Fail if unregistered flag value.
-
marshal
void marshal(Object obj) throws BinaryObjectException
- Parameters:
obj- Object.- Throws:
BinaryObjectException- In case of error.
-
array
byte[] array()
- Returns:
- Array.
-
preWrite
void preWrite(@Nullable @Nullable String clsName)Perform pre-write. Reserves space for header and writes class name if needed.- Parameters:
clsName- Class name (optional).
-
postWrite
void postWrite(boolean userType, boolean registered)Perform post-write. Fills object header.- Parameters:
userType- User type flag.registered- Whether type is registered.
-
postWriteHashCode
void postWriteHashCode(@Nullable @Nullable String clsName)Perform post-write hash code update if necessary.- Parameters:
clsName- Class name. Always null if class is registered.
-
popSchema
void popSchema()
Pop schema.
-
writeFieldId
void writeFieldId(int fieldId)
Write field ID.- Parameters:
fieldId- Field ID.
-
newWriter
BinaryWriterEx newWriter(int typeId)
Create new writer with same context.- Parameters:
typeId- type- Returns:
- New writer.
-
write
void write(byte[] b, int off, int len)Writes a sub array of bytes.- Specified by:
writein interfaceDataOutput- Specified by:
writein interfaceObjectOutput- Parameters:
b- the data to be writtenoff- the start offset in the datalen- the number of bytes that are written
-
schemaId
int schemaId()
- Returns:
- Schema ID.
-
schemaId
void schemaId(int schemaId)
- Parameters:
schemaId- Schema ID.
-
context
BinaryContext context()
- Returns:
- Binary context.
-
writeBooleanFieldPrimitive
void writeBooleanFieldPrimitive(boolean val)
- Parameters:
val- Value.
-
writeByteFieldPrimitive
void writeByteFieldPrimitive(byte val)
- Parameters:
val- Value.
-
writeCharFieldPrimitive
void writeCharFieldPrimitive(char val)
- Parameters:
val- Value.
-
writeShortFieldPrimitive
void writeShortFieldPrimitive(short val)
- Parameters:
val- Value.
-
writeIntFieldPrimitive
void writeIntFieldPrimitive(int val)
- Parameters:
val- Value.
-
writeLongFieldPrimitive
void writeLongFieldPrimitive(long val)
- Parameters:
val- Value.
-
writeFloatFieldPrimitive
void writeFloatFieldPrimitive(float val)
- Parameters:
val- Value.
-
writeDoubleFieldPrimitive
void writeDoubleFieldPrimitive(double val)
- Parameters:
val- Value.
-
writeByteArray
int writeByteArray(InputStream in, int limit) throws BinaryObjectException
Write byte array from the InputStream.If
limit> 0 than no more thanlimitbytes will be read and written. Iflimit== -1 than it will try to read and write all bytes.In any case if actual number of bytes is greater than
MAX_ARRAY_SIZEthan exception will be thrown.- Parameters:
in- InputStream.limit- Max length of data to be read from the stream or -1 if all data should be read.- Returns:
- Number of bytes written.
- Throws:
BinaryObjectException- If an I/O error occurs or stream contains more thanMAX_ARRAY_SIZEbytes.
-
writeBinaryObject
void writeBinaryObject(@Nullable @Nullable BinaryObjectEx po) throws BinaryObjectException- Parameters:
po- Binary object.- Throws:
BinaryObjectException- In case of error.
-
writeField
void writeField(Object obj, org.apache.ignite.internal.binary.BinaryFieldDescriptor fld) throws BinaryObjectException
Write field.- Parameters:
obj- Object.fld- Field.- Throws:
BinaryObjectException- If failed.
-
currentSchema
BinarySchema currentSchema()
- Returns:
- Current writer's schema.
-
tryWriteAsHandle
boolean tryWriteAsHandle(Object obj)
Attempts to write the object as a handle.- Parameters:
obj- Object to write.- Returns:
trueif the object has been written as a handle.
-
writeBinaryArray
void writeBinaryArray(org.apache.ignite.internal.binary.BinaryArray val)
- Parameters:
val- Array wrapper.- Throws:
BinaryObjectException- In case of error.
-
doWriteEnumArray
void doWriteEnumArray(Object[] val)
- Parameters:
val- Array.
-
writeBinaryEnum
void writeBinaryEnum(BinaryObjectEx val)
- Parameters:
val- Value.
-
writeClass
void writeClass(Class val)
- Parameters:
val- Class.
-
-