/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Everest.Library.Resource;
namespace Everest.Forms.ExtForm{
public class ExtGeneratorFactory : IGeneratorFactory
{
ISchemaProvider provider;
public ExtGeneratorFactory(ISchemaProvider provider)
{
this.provider = provider;
}
static IDictionary<string, Type> generators;
static ExtGeneratorFactory()
{
generators = new Dictionary<string, Type>();
generators.Add("grid", typeof(ExtGridFormGenerator));
generators.Add("editorGrid", typeof(ExtEditorGridGenerator));
generators.Add("form", typeof(ExtSimpleFormGenerator));
generators.Add("columnForm", typeof(ExtColumnLayoutGenerator));
}
#region IGeneratorFactory Members
public IFormGenerator GetGenerator(string generatorType)
{
if (!generators.ContainsKey(generatorType))
{
throw new Exception(new TextResource("FormGeneratorNotExists", "Everest.Forms").ToString());
}
return (IFormGenerator)Activator.CreateInstance(generators[generatorType], provider);
}
#endregion
}
}
|