ROSerialization
Overview
This is the formal protocol that defines the interface to allow serialization and deserialization of values of all supported types. This protocol is used internally to create message classes such as binary message or SOAP message. You will have to implement this protocol if you want to create your own message class as a ROMessage descendant.
The protocol methods listed below may have common parameters:
- *withName:(NSString )aName is used to pass the name of the value to process. Some serializers may implement sequential approach, meaning the data is stored sequentially in a predefined order (likebinary message). Other serializers may implement a "name-value" approach with random access (like SOAP message). The name parameter being described is used in latter case and ignored otherwise.
- asClass:(Class)class: When deserializing complex types like arrays or structures, it is required to specify the class of the instance the deserializer should create. This parameter is necessary because all arrays and structures are descendants of ROArray and ROComplexType classes respectively and there may be no concrete class information in the message data.
Location
- Reference: ROMessage.h
- Namespace: RemObjectsSDK
- Ancestry: ROSerialization
Required Methods
readAnsiStringWithName:
Reads an AnsiString value.
- (nullable NSString *) readAnsiStringWithName:(nullable NSString *)aName
Parameters:
- aName:
readAnsiStringWithName:asClass: deprecated
Reads an AnsiString value.
- (nullable NSString *) readAnsiStringWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readArrayWithName:asClass: deprecated
Reads an array value.
- (nullable ROArray *) readArrayWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readBinaryWithName:
Reads a Binary value.
- (nullable NSData *) readBinaryWithName:(nullable NSString *)aName
Parameters:
- aName:
readBinaryWithName:asClass: deprecated
Reads a Binary value.
- (nullable NSData *) readBinaryWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readBooleanWithName:
Reads a Boolean value.
- (BOOL) readBooleanWithName:(nullable NSString *)aName
Parameters:
- aName: The name of the value.
readByteWithName:
Reads a Byte value.
- (byte) readByteWithName:(nullable NSString *)aName
Parameters:
- aName: The name of the value.
readComplexWithName:asClass:
- (nullable ROComplexType *) readComplexWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readCurrencyWithName:
Reads a Currency value.
- (nullable NSDecimalNumber *) readCurrencyWithName:(nullable NSString *)aName
Parameters:
- aName:
readCurrencyWithName:asClass: deprecated
Reads a Currency value.
- (nullable NSDecimalNumber *) readCurrencyWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readDateTimeWithName:
Reads a DateTime value.
- (nullable NSDate *) readDateTimeWithName:(nullable NSString *)aName
Parameters:
- aName:
readDateTimeWithName:asClass: deprecated
Reads a DateTime value.
- (nullable NSDate *) readDateTimeWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readDecimalWithName:
Reads a Decimal value.
- (nullable NSDecimalNumber *) readDecimalWithName:(nullable NSString *)aName
Parameters:
- aName:
readDecimalWithName:asClass: deprecated
Reads a Decimal value.
- (nullable NSDecimalNumber *) readDecimalWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readDoubleWithName:
Reads a Double value.
- (double) readDoubleWithName:(nullable NSString *)aName
Parameters:
- aName:
readEnumWithName:asEnum:
- (NSUInteger) readEnumWithName:(nullable NSString *)aName asEnum:(nonnull ROEnumMetaData *)aEnumMetaData
Parameters:
- aName:
- aEnumMetaData:
readGuidWithName:
Reads a GUID value.
- (nullable ROGuid *) readGuidWithName:(nullable NSString *)aName
Parameters:
- aName:
readGuidWithName:asClass: deprecated
Reads a GUID value.
- (nullable ROGuid *) readGuidWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readInt16WithName:
Deserializes a 16-bit signed integer value.
- (int16) readInt16WithName:(nullable NSString *)aName
Parameters:
- aName:
readInt32WithName:
Deserializes a 32-bit signed integer value.
- (int32) readInt32WithName:(nullable NSString *)aName
Parameters:
- aName: The name of the value.
readInt64WithName:
Deserializes a 64-bit signed integer value.
- (int64) readInt64WithName:(nullable NSString *)aName
Parameters:
- aName:
readMutableArrayWithName:asClass:
- (nullable ROMutableArray *) readMutableArrayWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readUtf8StringWithName:
Reads an UTF8String value.
- (nullable NSString *) readUtf8StringWithName:(nullable NSString *)aName
Parameters:
- aName:
readUtf8StringWithName:asClass: deprecated
Reads an UTF8String value.
- (nullable NSString *) readUtf8StringWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readVariantWithName:
Reads a Variant value.
- (nullable ROVariant *) readVariantWithName:(nullable NSString *)aName
Parameters:
- aName:
readVariantWithName:asClass: deprecated
Reads a Variant value.
- (nullable ROVariant *) readVariantWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readWideStringWithName:
Reads a WideString value.
- (nullable NSString *) readWideStringWithName:(nullable NSString *)aName
Parameters:
- aName:
readWideStringWithName:asClass: deprecated
Reads a WideString value.
- (nullable NSString *) readWideStringWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readXmlWithName:
Reads a XML value.
- (nullable ROXml *) readXmlWithName:(nullable NSString *)aName
Parameters:
- aName:
readXmlWithName:asClass: deprecated
Reads a XML value.
- (nullable ROXml *) readXmlWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
readXsDateTimeWithName:
- (nullable NSDate *) readXsDateTimeWithName:(nullable NSString *)aName
Parameters:
- aName:
readXsDateTimeWithName:asClass: deprecated
- (nullable NSDate *) readXsDateTimeWithName:(nullable NSString *)aName asClass:(nonnull Class)aClass
Parameters:
- aName:
- aClass:
writeAnsiString:withName:
Writes an AnsiString value.
- (void) writeAnsiString:(nullable NSString *)aString withName:(nullable NSString *)aName
Parameters:
- aString: The string to serialize.
- aName: The name of the value.
writeArray:withName: deprecated
Writes an array value.
- (void) writeArray:(nullable ROArray *)aArray withName:(nullable NSString *)aName
Parameters:
- aArray: The array to serialize.
- aName: The name of the value.
writeBinary:withName:
Writes a Binary value.
- (void) writeBinary:(nullable NSData *)aBinary withName:(nullable NSString *)aName
Parameters:
- aBinary: The binary stream instance to serialize.
- aName: The name of the value.
writeBoolean:withName:
Serializes a boolean value.
- (void) writeBoolean:(BOOL)aBoolean withName:(nullable NSString *)aName
Parameters:
- aBoolean: The value to serialize.
- aName: The name of the value.
writeByte:withName:
Serializes a byte value.
- (void) writeByte:(byte)aByte withName:(nullable NSString *)aName
Parameters:
- aByte: The value to serialize.
- aName: The name of the value.
writeComplex:withName:
Serializes a complex type (i.e. structure) instance.
- (void) writeComplex:(nullable ROComplexType *)aComplex withName:(nullable NSString *)aName
Parameters:
- aComplex: The complex type instance to serialize.
- aName: The name of the value.
writeCurrency:withName:
Writes a Currency value.
- (void) writeCurrency:(nullable NSDecimalNumber *)aCurrency withName:(nullable NSString *)aName
Parameters:
- aCurrency: The value to serialize.
- aName: The name of the value.
writeDateTime:withName:
Writes a DateTime value.
- (void) writeDateTime:(nullable NSDate *)aDate withName:(nullable NSString *)aName
Parameters:
- aDate: The value to serialize.
- aName: The name of the value.
writeDecimal:withName:
Writes a Decimal value.
- (void) writeDecimal:(nullable NSDecimalNumber *)aDecimal withName:(nullable NSString *)aName
Parameters:
- aDecimal: The value to serialize.
- aName: The name of the value.
writeDouble:withName:
Writes a Double value.
- (void) writeDouble:(double)aDouble withName:(nullable NSString *)aName
Parameters:
- aDouble: The value to serialize.
- aName: The name of the value.
writeEnum:withName: deprecated
Writes an enum value.
- (void) writeEnum:(NSUInteger)aEnum withName:(nullable NSString *)aName
Parameters:
- aEnum:
- aName:
writeEnum:withName:asEnum:
Writes an enum value.
- (void) writeEnum:(NSUInteger)aEnum withName:(nullable NSString *)aName asEnum:(nonnull ROEnumMetaData *)aEnumMetaData
Parameters:
- aEnum:
- aName:
- aEnumMetaData:
writeGuid:withName:
Writes a GUID value.
- (void) writeGuid:(nullable ROGuid *)value withName:(nullable NSString *)aName
Parameters:
- value: The value to serialize.
- aName: The name of the value.
writeInt16:withName:
Serializes a 16 bit signed integer value.
- (void) writeInt16:(int16)aInt withName:(nullable NSString *)aName
Parameters:
- aInt: The value to serialize.
- aName: The name of the value.
writeInt32:withName:
Writes a Integer value.
- (void) writeInt32:(int32)aInt withName:(nullable NSString *)aName
Parameters:
- aInt: The value to serialize.
- aName: The name of the value.
writeInt64:withName:
Writes a Int64 value.
- (void) writeInt64:(int64)aInt withName:(nullable NSString *)aName
Parameters:
- aInt: The value to serialize.
- aName: The name of the value.
writeMutableArray:withName:
- (void) writeMutableArray:(nullable ROMutableArray *)aArray withName:(nullable NSString *)aName
Parameters:
- aArray:
- aName:
writeUtf8String:withName:
Writes an UTF8String value.
- (void) writeUtf8String:(nullable NSString *)aString withName:(nullable NSString *)aName
Parameters:
- aString: The string to serialize.
- aName: The name of the value.
writeVariant:withName:
Writes a Variant value to the message.
WARNING
The method is provided for future RO SDK/OSX improvement. Variants are not supported in the current RO SDK/OSX version, so you should only code the method stub in classes that implement this protocol.
- (void) writeVariant:(nullable ROVariant *)aVariant withName:(nullable NSString *)aName
Parameters:
- aVariant: The value to serialize.
- aName: The name of the value.
writeWideString:withName:
Writes a WideString value.
- (void) writeWideString:(nullable NSString *)aString withName:(nullable NSString *)aName
Parameters:
- aString: The string to serialize.
- aName: The name of the value.
writeXml:withName:
Writes a XML value.
- (void) writeXml:(nullable ROXml *)aXml withName:(nullable NSString *)aName
Parameters:
- aXml: The value to serialize.
- aName: The name of the value.
writeXsDateTime:withName:
- (void) writeXsDateTime:(nullable NSDate *)aDate withName:(nullable NSString *)aName
Parameters:
- aDate:
- aName: