/// <summary>Initializes the <see cref="EntityFactoryFactory"/> class.</summary>
        static EntityFactoryFactory()
        {
            Array entityTypeValues = Enum.GetValues(typeof(policyDB.EntityType));

            foreach (int entityTypeValue in entityTypeValues)
            {
                IEntity dummy = GeneralEntityFactory.Create((policyDB.EntityType)entityTypeValue);
                _factoryPerType.Add(dummy.GetType(), dummy.GetEntityFactory());
            }
        }
 /// <summary>Gets the factory of the entity with the policyDB.EntityType specified</summary>
 /// <param name="typeOfEntity">The type of entity.</param>
 /// <returns>factory to use or null if not found</returns>
 public static IEntityFactory GetFactory(policyDB.EntityType typeOfEntity)
 {
     return(GetFactory(GeneralEntityFactory.Create(typeOfEntity).GetType()));
 }
 /// <summary>Creates a new entity instance using the GeneralEntityFactory in the generated code, using the passed in entitytype value</summary>
 /// <param name="entityTypeValue">The entity type value of the entity to create an instance for.</param>
 /// <returns>new IEntity instance</returns>
 public override IEntity CreateEntityFromEntityTypeValue(int entityTypeValue)
 {
     return(GeneralEntityFactory.Create((policyDB.EntityType)entityTypeValue));
 }