Doloro GDK 22 .1.0 Beta
by Tauri Interactive
Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator Class Reference

Detailed Description

Component that allows to aggregate the IPropertiesProvider in a single source without destroying their individuality.

Literally just references them.

Inheritance diagram for Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator:
Collaboration diagram for Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator:

Public Member Functions

void Add (IPropertiesProvider item)
 Aggregates the collection. More...
 
void Clear ()
 Releases entire aggregated collections.
 
bool Contains (IPropertiesProvider item)
 Checks is the collection instance is already has been aggregated. More...
 
void CopyTo (IPropertiesProvider[] array, int arrayIndex)
 Copying aggregated collections references to destination array. More...
 
IEnumerator< IPropertiesProviderGetEnumerator ()
 Enumerates entire aggregated collections. More...
 
bool Remove (IPropertiesProvider item)
 Removes collection from the register. More...
 
void Add (AssetProperty property)
 Adding property to the first registered collection More...
 
bool Contains (string propertyPath)
 Checks is the property by path exists. More...
 
bool Contains (AssetProperty property)
 Checks is the property contains in any child IPropertiesProvider. More...
 
void CopyTo (AssetProperty[] array, int arrayIndex)
 Copies child properties to array. More...
 
bool Remove (AssetProperty property)
 Removes property from first faced child IPropertiesProvider. More...
 

Protected Member Functions

virtual void Start ()
 Loading the entire daughter IPropertiesProvider components from the child hierarchy.
 
virtual void OnDestroy ()
 Releases itself from child collections' events persistence.
 

Properties

int Count [get]
 Count of aggregated collections. More...
 
bool IsReadOnly [get]
 Always false.
 
AssetProperty this[string path] [get]
 Provides access to property by path. More...
 

Events

Action< AssetPropertyPropertyAdded
 Occurs when new property added.
 
Action< AssetPropertyPropertyRemoved
 Occurs when property removed.
 

Member Function Documentation

◆ Add() [1/2]

void Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Add ( AssetProperty  property)

Adding property to the first registered collection

Parameters
propertyProperty to add.
Exceptions
ArgumentNullExceptionproperty is null.
ArgumentExceptionproperty.FullPath is null of white space.
EntryAlreadyExistsExceptionOccurs when you try to add property to the path that already exist or can't be expanded.

◆ Add() [2/2]

void Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Add ( IPropertiesProvider  item)

Aggregates the collection.

Parameters
itemItem to register add.
Exceptions
ArgumentNullExceptionitem is null.

◆ Contains() [1/3]

bool Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Contains ( AssetProperty  property)

Checks is the property contains in any child IPropertiesProvider.

Parameters
propertyProperty to contains check.
Returns
true in case if the property has been found among child registry.

◆ Contains() [2/3]

bool Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Contains ( IPropertiesProvider  item)

Checks is the collection instance is already has been aggregated.

Parameters
itemCollection to check.
Returns
Result of the search among connected ones.

◆ Contains() [3/3]

bool Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Contains ( string  propertyPath)

Checks is the property by path exists.

Parameters
propertyPathFull path to the property.
Returns
true in case if property has been found. false otherwise.

Implements Doloro.DataManagement.AssetPropertiesSystem.IPropertiesProvider.

◆ CopyTo() [1/2]

void Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.CopyTo ( AssetProperty[]  array,
int  arrayIndex 
)

Copies child properties to array.

Parameters
arrayDestination array.
arrayIndexStart index in destination array.

◆ CopyTo() [2/2]

void Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.CopyTo ( IPropertiesProvider[]  array,
int  arrayIndex 
)

Copying aggregated collections references to destination array.

Parameters
arrayDestination of copying.
arrayIndexStart index at the destination array.

◆ GetEnumerator()

IEnumerator< IPropertiesProvider > Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.GetEnumerator ( )

Enumerates entire aggregated collections.

Returns

◆ Remove() [1/2]

bool Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Remove ( AssetProperty  property)

Removes property from first faced child IPropertiesProvider.

Parameters
propertyProperty to release.
Returns
true in case if property has been found and released. false otherwise.

◆ Remove() [2/2]

bool Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Remove ( IPropertiesProvider  item)

Removes collection from the register.

Parameters
itemEntry to remove.
Returns
Result of operation. True in case if entry found.

Property Documentation

◆ Count

int Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.Count
get

Count of aggregated collections.

Counts the destroyed in case if them not unregistered from the component via the Remove(IPropertiesProvider) handler.

◆ this[string path]

AssetProperty Doloro.DataManagement.AssetPropertiesSystem.PropertiesAggregator.this[string path]
get

Provides access to property by path.

Parameters
pathPath to property in internal hierarchy.
Returns
Reference to property. Null if not found.

In case if aggregated collections contain colliding properties then returns the first detected.

Implements Doloro.DataManagement.AssetPropertiesSystem.IPropertiesProvider.


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