IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Lib.ISerializationDto< Type, BaseType > Interface Template Reference

Interface for Data Transfer Objects (DTO). This class is used as template for producing concrete DTO classes. Such DTOs are used for serialization and deserialization of state of various kinds of objects that need to be transfered between applications, across platforms, or simply stored in files for future use. WARNING: In most cases ISerializationDto<Type> will be used. Different BaseType and Type are used only in relatively rare cases where different derived types all have the same data that is copied to DTO. Otherwise the advantage of this can not be used because of single inheritance. More...

+ Inheritance diagram for IG.Lib.ISerializationDto< Type, BaseType >:
+ Collaboration diagram for IG.Lib.ISerializationDto< Type, BaseType >:

Public Member Functions

void CopyFromBase (BaseType obj)
 Copies data to the current DTO from an object of type BaseType. More...
 
void CopyToBase (ref BaseType obj)
 Copies data from the current DTO to an object of the base type. Object is created anew if necessary by using the CreateObject() method. More...
 
void CopyFromObject (object obj)
 Copies data to the current DTO from an object of type object. The necessary casts are performed. More...
 
void CopyToObject (ref object obj)
 Copies data from the current DTO to an object of type object. Object is created anew if necessary by using the CreateObject() method. The necessary casts are performed. More...
 
- Public Member Functions inherited from IG.Lib.ISerializationDtoAux< Type >
bool GetNull ()
 Returns a flag indicating whether the object represented by the current DTO is null. More...
 
void SetNull (bool isNull)
 Sets a flag indicating whether the object represented by the current DTO is null. More...
 
Type CreateObject ()
 Creates and returns a new object of the type whose data is represented by the current DTO (Data Transfer Object). WARNING: Implement thread locking in overriding functions! More...
 
void CopyFrom (Type obj)
 Copies data to the current DTO from an object of type Type. More...
 
void CopyTo (ref Type obj)
 Copies data from the current DTO to an object of type Type. Object is created anew if necessary by using the CreateObject() method. More...
 

Detailed Description

Interface for Data Transfer Objects (DTO). This class is used as template for producing concrete DTO classes. Such DTOs are used for serialization and deserialization of state of various kinds of objects that need to be transfered between applications, across platforms, or simply stored in files for future use. WARNING: In most cases ISerializationDto<Type> will be used. Different BaseType and Type are used only in relatively rare cases where different derived types all have the same data that is copied to DTO. Otherwise the advantage of this can not be used because of single inheritance.

Template Parameters
TypeType for which DTO is used.
BaseTypeBase type of the type for which DTO is used, and on which copy operations will be defined. In this way, we can avoid defining these operations for each specific type, but only define them for a specific type, since operations may be similar for all derived types.

There is an agreement that all derived classes must have a public argument-less (default) constructor. Generic classes are usually not used for serialization/deserialization. Only derived types where both type parameters are fixed are normally used for this purpos. IMPORTANT: Base type is used just for being able to define copying operations only once - for the base type - and using it for different derived types. In many occasions this will not be needed, and in these occasions one should just use the derived type that does not have base type as type parameter.

$A Igor Jun09;

Member Function Documentation

void IG.Lib.ISerializationDto< Type, BaseType >.CopyFromBase ( BaseType  obj)

Copies data to the current DTO from an object of type BaseType.

Parameters
objObject whose data is copied to the current DTO.

Implemented in IG.Lib.SerializationDtoBase< Type, BaseType >.

void IG.Lib.ISerializationDto< Type, BaseType >.CopyToBase ( ref BaseType  obj)

Copies data from the current DTO to an object of the base type. Object is created anew if necessary by using the CreateObject() method.

Parameters
objObject to which data is copied.

Implemented in IG.Lib.SerializationDtoBase< Type, BaseType >.

void IG.Lib.ISerializationDto< Type, BaseType >.CopyFromObject ( object  obj)

Copies data to the current DTO from an object of type object. The necessary casts are performed.

Parameters
objObject whose data is copied to the current DTO.

Implemented in IG.Lib.SerializationDtoBase< Type, BaseType >.

void IG.Lib.ISerializationDto< Type, BaseType >.CopyToObject ( ref object  obj)

Copies data from the current DTO to an object of type object. Object is created anew if necessary by using the CreateObject() method. The necessary casts are performed.

Parameters
objObject to which data is copied.

Implemented in IG.Lib.SerializationDtoBase< Type, BaseType >.


The documentation for this interface was generated from the following file: