Interface IStateManager<TResource>
The state manager interface. This object is responsible for storing the resources in memory.
Inherited Members
Namespace: Microsoft.Graph.Communications.Client
Assembly: Microsoft.Graph.Communications.Client.dll
Syntax
public interface IStateManager<TResource> : ICollection<TResource>, IEnumerable<TResource>, IEnumerable, IDisposable where TResource : IResource
Type Parameters
Name | Description |
---|---|
TResource | The type of the resource. |
Properties
Item[String]
Gets the IResource<TSelf, TEntity> with the specified identifier.
Declaration
TResource this[string id] { get; }
Parameters
Type | Name | Description |
---|---|---|
String | id | The identifier. |
Property Value
Type | Description |
---|---|
TResource |
Methods
CopyContent()
Copies the content contained by this instance.
Declaration
ICollection<TResource> CopyContent()
Returns
Type | Description |
---|---|
ICollection<TResource> | The copied ICollection<T> |
GetOrAdd(String, Func<TResource>)
Gets the resource with the specified id if it exists in the collection, otherwise executes the resource factory to create the resource. State manager does not guarantee that the resource factory is executed only once, so operations must be idempotent (I.E. GET, PUT, etc...).
Declaration
TResource GetOrAdd(string id, Func<TResource> resourceFactory)
Parameters
Type | Name | Description |
---|---|---|
String | id | The identifier. |
Func<TResource> | resourceFactory | The resource factory. |
Returns
Type | Description |
---|---|
TResource | The IResource<TSelf, TEntity> that was found or created. |
GetOrAddAsync(String, Func<Task<TResource>>)
Gets the resource with the specified id if it exists in the collection, otherwise executes the resource factory to create the resource. State manager does not guarantee that the resource factory is executed only once, so operations must be idempotent (I.E. GET, PUT, etc...). This method supports asynchronously creating the resource.
Declaration
Task<TResource> GetOrAddAsync(string id, Func<Task<TResource>> resourceFactory)
Parameters
Type | Name | Description |
---|---|---|
String | id | The identifier. |
Func<Task<TResource>> | resourceFactory | The resource factory. |
Returns
Type | Description |
---|---|
Task<TResource> | The IResource<TSelf, TEntity> that was found or created. |
Remove(String)
Removes the resource with the specified id from the state manager.
Declaration
TResource Remove(string id)
Parameters
Type | Name | Description |
---|---|---|
String | id | The identifier. |
Returns
Type | Description |
---|---|
TResource | The IResource<TSelf, TEntity> that was removed. |
TryRemove(String, out TResource)
Tries to remove the resource with the specified id.
Declaration
bool TryRemove(string id, out TResource resource)
Parameters
Type | Name | Description |
---|---|---|
String | id | The identifier. |
TResource | resource | The resource. |
Returns
Type | Description |
---|---|
Boolean | true if the IResource<TSelf, TEntity> was removed, false otherwise. |