Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using Cqrs.DataStores;
10 : using Cqrs.Entities;
11 :
12 : namespace Cqrs.Azure.BlobStorage.DataStores
13 : {
14 : /// <summary>
15 : /// A factory for getting connection strings and container names for <see cref="IDataStore{TData}"/> access.
16 : /// This factory supports reading and writing from separate storage accounts. Specifically you can have as many different storage accounts as you want to configure when writing.
17 : /// This allows for manual mirroring of data while reading from the fastest/closest location possible.
18 : /// </summary>
19 : public interface IBlobStorageDataStoreConnectionStringFactory : IBlobStorageStoreConnectionStringFactory
20 : {
21 : /// <summary>
22 : /// Gets the name of the container.
23 : /// </summary>
24 1 : string GetContainerName<TData>()
25 : where TData : Entity;
26 :
27 : /// <summary>
28 : /// Get if the container is public or not.
29 : /// </summary>
30 1 : bool IsContainerPublic<TData>()
31 : where TData : Entity;
32 :
33 : /// <summary>
34 : /// Gets the name of the entity that is safe for container use.
35 : /// </summary>
36 1 : string GetEntityName<TData>()
37 : where TData : Entity;
38 : }
39 : }
|