///////////////////////////////////////////////////////////////
// This is generated code.
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 4.2
// Code is generated on:
// Code is generated using templates: SD.TemplateBindings.SharedTemplates
// Templates vendor: Solutions Design.
// Templates version:
//////////////////////////////////////////////////////////////
using System;
using Datalib.FactoryClasses;
using Datalib.RelationClasses;
using SD.LLBLGen.Pro.ORMSupportClasses;
namespace Datalib.HelperClasses
{
// __LLBLGENPRO_USER_CODE_REGION_START AdditionalNamespaces
// __LLBLGENPRO_USER_CODE_REGION_END
/// Singleton implementation of the inheritanceInfoProvider. This class is the singleton wrapper through which the actual instance is retrieved.
/// It uses a single instance of an internal class. The access isn't marked with locks as the InheritanceInfoProviderBase class is threadsafe.
public static class InheritanceInfoProviderSingleton
{
#region Class Member Declarations
private static readonly IInheritanceInfoProvider _providerInstance = new InheritanceInfoProviderCore();
#endregion
/// Dummy static constructor to make sure threadsafe initialization is performed.
static InheritanceInfoProviderSingleton() { }
/// Gets the singleton instance of the InheritanceInfoProviderCore
/// Instance of the InheritanceInfoProvider.
public static IInheritanceInfoProvider GetInstance()
{
return _providerInstance;
}
#region Custom InheritanceInfoProviderSingleton code
// __LLBLGENPRO_USER_CODE_REGION_START CustomInheritanceInfoProviderSingletonCode
// __LLBLGENPRO_USER_CODE_REGION_END
#endregion
}
/// Actual implementation of the InheritanceInfoProvider. Used by singleton wrapper.
internal class InheritanceInfoProviderCore : InheritanceInfoProviderBase
{
/// Initializes a new instance of the class.
internal InheritanceInfoProviderCore()
{
Init();
}
/// Method which initializes the internal datastores with the structure of hierarchical types.
private void Init()
{
base.BuildHierarchyInfoStore();
}
/// Gets the entity fields for the entity passed in. Only the fields defined in the entity are returned
/// Name of the entity to grab the fields for
/// array of IEntityFieldCore fields
public override IEntityFieldCore[] GetEntityFields(string entityName)
{
return EntityFieldsFactory.CreateFields(entityName);
}
}
}