SmartAPI
Open Source .NET RQL library for RedDot CMS / OpenText WSM Management Server
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Pages
erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T > Class Template Reference

Convenience class for a IndexedRDList with an index on the Name attribute GetByName and TryGetByName both use the index to access the elements. More...

+ Inheritance diagram for erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >:
+ Collaboration diagram for erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >:

Public Member Functions

 NameIndexedRDList (Func< List< T >> retrieveFunc, Caching caching)
 
override T GetByName (string name)
 
new NameIndexedRDList< T > Refreshed ()
 
override bool TryGetByName (string name, out T output)
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.IndexedRDList< TK, T >
 IndexedRDList (Func< List< T >> retrieveFunc, Func< T, TK > indexFunc, Caching caching)
 
bool Contains (T element)
 
bool ContainsGuid (Guid guid)
 
bool ContainsName (string name)
 
virtual T GetByGuid (Guid guid)
 
new IIndexedRDList< TK, T > Refreshed ()
 
virtual bool TryGetByGuid (Guid guid, out T output)
 
void WaitFor (Func< IIndexedRDList< TK, T >, bool > predicate, TimeSpan maxWait, TimeSpan retryPeriod)
 
void WaitFor (Predicate< IRDList< T >> predicate, TimeSpan maxWait, TimeSpan retryPeriod)
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.IndexedCachedList< TK, T >
 IndexedCachedList (Func< List< T >> retrieveFunc, Func< T, TK > indexFunc, Caching caching)
 
bool ContainsKey (TK key)
 
Get (TK key)
 
new IIndexedCachedList< TK, T > Refreshed ()
 
bool TryGet (TK key, out T obj)
 
void WaitFor (Predicate< IIndexedCachedList< TK, T >> predicate, TimeSpan maxWait, TimeSpan retryPeriod)
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.CachedList< T >
 CachedList (Func< List< T >> retrieveFunc, Caching caching)
 
GetByPosition (int pos)
 
IEnumerator< T > GetEnumerator ()
 
virtual void InvalidateCache ()
 
void Refresh ()
 
ICachedList< T > Refreshed ()
 
void WaitFor (Predicate< ICachedList< T >> predicate, TimeSpan wait, TimeSpan retryPeriod)
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.ICachedList< out T >
GetByPosition (int pos)
 Get an element of the list at a specific position.
 
ICachedList< T > Refreshed ()
 Calls Refresh() and returns this.
 
void WaitFor (Predicate< ICachedList< T >> predicate, TimeSpan wait, TimeSpan retryPeriod)
 Waits until a predicate on itself becomes true. Every retry period Refresh() is called and the predicate evaluated again, until the predicate evaluates to true, or the wait timespan is exhausted.
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.ICached
void InvalidateCache ()
 Clear the cache and refresh it on the next access.
 
void Refresh ()
 Updates the cache immediatly.
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.IIndexedCachedList< in TK, T >
bool ContainsKey (TK key)
 Check wether the index contains a specific key. If you want to get an element, if it is available, use TryGet as it is faster than a call to ContainsKey and a Get afterwards.
 
Get (TK key)
 Get an entry with a specific key value. Throws an exception if entry could not be found.
 
new IIndexedCachedList< TK, T > Refreshed ()
 
bool TryGet (TK name, out T obj)
 Try to get an entry with a specific key value, returns false, if entry could not be found.
 
void WaitFor (Predicate< IIndexedCachedList< TK, T >> predicate, TimeSpan maxWait, TimeSpan retryPeriod)
 
- Public Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.IIndexedRDList< in TK, T >
new IIndexedRDList< TK, T > Refreshed ()
 
void WaitFor (Func< IIndexedRDList< TK, T >, bool > predicate, TimeSpan maxWait, TimeSpan retryEverySecond)
 

Protected Member Functions

 NameIndexedRDList (Caching caching)
 
- Protected Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.IndexedRDList< TK, T >
 IndexedRDList (Func< T, TK > indexFunc, Caching caching)
 
- Protected Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.IndexedCachedList< TK, T >
 IndexedCachedList (Func< T, TK > indexFunc, Caching caching)
 
- Protected Member Functions inherited from erminas.SmartAPI.Utils.CachedCollections.CachedList< T >
 CachedList (Caching caching)
 
void EnsureListIsLoaded ()
 

Additional Inherited Members

- Properties inherited from erminas.SmartAPI.Utils.CachedCollections.IndexedCachedList< TK, T >
override bool IsCachingEnabled [set]
 
override List< T > List [set]
 
this[TK key] [get]
 
- Properties inherited from erminas.SmartAPI.Utils.CachedCollections.IIndexedCachedList< in TK, T >
this[TK key] [get]
 Same as GetByName only as indexer.
 
- Properties inherited from erminas.SmartAPI.Utils.CachedCollections.IRDList< T >
new int Count [get]
 

Detailed Description

Convenience class for a IndexedRDList with an index on the Name attribute GetByName and TryGetByName both use the index to access the elements.

Template Parameters
TTypeId of the stored elements
Type Constraints
T :class 
T :IRedDotObject 

Definition at line 110 of file IndexedRDList.cs.

Constructor & Destructor Documentation

erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >.NameIndexedRDList ( Func< List< T >>  retrieveFunc,
Caching  caching 
)

Definition at line 112 of file IndexedRDList.cs.

erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >.NameIndexedRDList ( Caching  caching)
protected

Definition at line 116 of file IndexedRDList.cs.

Member Function Documentation

override T erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >.GetByName ( string  name)
virtual
new NameIndexedRDList<T> erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >.Refreshed ( )

Definition at line 125 of file IndexedRDList.cs.

override bool erminas.SmartAPI.Utils.CachedCollections.NameIndexedRDList< T >.TryGetByName ( string  name,
out T  output 
)
virtual

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