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.ListDto< ElementType, ElementBaseType, ElementDtoType > Class Template Reference

Data transfer object for holding lists of objects of the same type. More...

+ Inheritance diagram for IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >:
+ Collaboration diagram for IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >:

Public Member Functions

 ListDto ()
 Default constructor, sets IsNull to true. More...
 
override List< ElementType > CreateObject ()
 Creates the array of objects and returns it. More...
 
- Public Member Functions inherited from IG.Lib.SerializationDtoBase< Type, BaseType >
 SerializationDtoBase ()
 
virtual bool GetNull ()
 Returns a flag indicating whether the object represented by the current DTO is null. More...
 
virtual void SetNull (bool isNull)
 Sets a flag indicating whether the object represented by the current DTO is null. More...
 
virtual void CopyFromBase (BaseType obj)
 Copies data to the current DTO from an object of type BaseType. More...
 
virtual 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...
 
virtual void CopyFrom (Type obj)
 Copies data to the current DTO from an object of type Type. More...
 
virtual 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...
 
virtual void CopyFromObject (object obj)
 Copies data to the current DTO from an object of type object. The necessary casts are performed. More...
 
virtual 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...
 
override string ToString ()
 Creates and returns string representation of the current DTO (data transfer object). More...
 

Static Public Member Functions

static void ExampleVectorArray (string filePath)
 An example of using the ArrayDto{ElementType, ElementDtoType} for storing an array of vecctors into a JSON file. More...
 
- Static Public Member Functions inherited from IG.Lib.SerializationDto
static ObjectType CopyToObjectReturned< DtoType, ObjectType > (DtoType dto, ObjectType obj)
 Replacement for CopyToObject<DtoType> for cases where object can not be passed by reference. The returned object must be assigned to object (property, list element, etc.) to which object state is copied. More...
 
static void CopyToObject< DtoType, ObjectType > (DtoType dto, ref ObjectType obj)
 Copies object state form the specified DTO (data transfer object) to the specified object. More...
 
static DtoType CopyFromObjectReturned< DtoType, ObjectType > (ObjectType obj, DtoType dto)
 Replacement for CopyObjectFromObject<DtoType> for cases where object can not be passed by reference. The returned object must be assigned to object (property, list element, etc.) to which object state is copied. More...
 
static void CopyFromObject< DtoType, ObjectType > (ObjectType obj, ref DtoType dto)
 Copies object state form the specified object to the corresponding DTO (data transfer object). More...
 
static ObjectType[] CopyArrayToObjectReturned< DtoType, ObjectType > (DtoType[] tabDto, ObjectType[] tabObj)
 Replacement for CopyArrayToObject for cases where object can not be passed by reference. The returned object must be assigned to object (property, list element, etc.) to which data is copied. More...
 
static void CopyArrayToObject< DtoType, ObjectType > (DtoType[] tabDto, ref ObjectType[] tabObj)
 Copies array of DTOs (Data Transfer Objects) to an array of appropriate objects. More...
 
static DtoType[] CopyArrayFromObjectReturned< DtoType, ObjectType > (ObjectType[] tabObj, DtoType[] tabDto)
 Replacement for CopyArrayFromObject for cases where object can not be passed by reference. The returned object must be assigned to object (property, list element, etc.) to which data is copied. More...
 
static void CopyArrayFromObject< DtoType, ObjectType > (ObjectType[] tabObj, ref DtoType[] tabDto)
 Copies array of objects to an array of DTOs. More...
 
static List< ObjectType > CopyListToObjectReturned< DtoType, ObjectType > (DtoType[] tabDto, List< ObjectType > listObj)
 Replacement for CopyListToObject for cases where object can not be passed by reference. The returned object must be assigned to object (property, list element, etc.) to which data is copied. More...
 
static void CopyListToObject< DtoType, ObjectType > (DtoType[] tabDto, ref List< ObjectType > listObj)
 Copies array of DTOs (Data Transfer Objects) to a list of appropriate objects. More...
 
static DtoType[] CopyListFromObjectReturned< DtoType, ObjectType > (List< ObjectType > tabObj, DtoType[] tabDto)
 Replacement for CopyArrayFromObject for cases where object can not be passed by reference. The returned object must be assigned to object (property, list element, etc.) to which data is copied. More...
 
static void CopyListFromObject< DtoType, ObjectType > (List< ObjectType > tabObj, ref DtoType[] tabDto)
 Copies array of objects to a list of DTOs. More...
 

Public Attributes

ElementDtoType[] Elements
 

Protected Member Functions

override void CopyFromPlain (List< ElementType > obj)
 Copies data from the specified list object. All elements are copied to appropriate DTOS on the array of elements (internal variable Elements). More...
 
override void CopyToPlain (ref List< ElementType > obj)
 Copies data from the current DTO to the specified list objects. More...
 
- Protected Member Functions inherited from IG.Lib.SerializationDtoBase< Type, BaseType >
abstract void CopyFromPlain (BaseType obj)
 Copies contents of the specified object to the current DTO (Data Transfer Object). More...
 
abstract void CopyToPlain (ref BaseType obj)
 Copies contents of the current DTO (Data Transfer Object) to the specified object. More...
 
- Protected Member Functions inherited from IG.Lib.SerializationDto
 SerializationDto ()
 

Additional Inherited Members

- Protected Attributes inherited from IG.Lib.SerializationDtoBase< Type, BaseType >
bool _isNull = false
 
- Properties inherited from IG.Lib.SerializationDtoBase< Type, BaseType >
object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Detailed Description

Data transfer object for holding lists of objects of the same type.

Template Parameters
ElementTypeType of elements.
ElementBaseTypeBase type of elements.
ElementDtoTypeType of a DTO that is used to trasfer element data.

$A Igor Jul09;

Type Constraints
ElementBaseType :class 
ElementType :class 
ElementType :ElementBaseType 
ElementDtoType :SerializationDtoBase 
ElementDtoType :ElementType 
ElementDtoType :ElementBaseType 
ElementDtoType :new() 

Constructor & Destructor Documentation

IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.ListDto ( )
inline

Default constructor, sets IsNull to true.

Member Function Documentation

override List<ElementType> IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.CreateObject ( )
inlinevirtual

Creates the array of objects and returns it.

The created array has the same dimension as the number of elements of the current DTO, or is null as specified by the current DTO (i.e. SerializationDtoBase<T,BT>.GetNull() = true).

Returns

Implements IG.Lib.SerializationDtoBase< Type, BaseType >.

override void IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.CopyFromPlain ( List< ElementType >  obj)
inlineprotected

Copies data from the specified list object. All elements are copied to appropriate DTOS on the array of elements (internal variable Elements).

Parameters
objObject that data is copied form.
override void IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.CopyToPlain ( ref List< ElementType >  obj)
inlineprotected

Copies data from the current DTO to the specified list objects.

All data of contained elements is copied to elements of the array.

Array is created anew / resized if necessary.

Parameters
objObjects that data are copied to.
static void IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.ExampleVectorArray ( string  filePath)
inlinestatic

An example of using the ArrayDto{ElementType, ElementDtoType} for storing an array of vecctors into a JSON file.

Parameters
filePathPath of the file to which vectors are saved. Must not be null or empty string. If the file already exists then user is promped whether to store vectors or not.

References IG.Lib.UtilConsole.Read(), and IG.Lib.UtilSystem.StandardizeDirectoryPath().

Member Data Documentation

ElementDtoType [] IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.Elements

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