Insight.Database.Schema.Implementation.SchemaImpl.GetImplementation C# (CSharp) Method

GetImplementation() private method

private GetImplementation ( SchemaObjectType type, string name, string sql ) : SchemaImpl
type SchemaObjectType
name string
sql string
return SchemaImpl
		public static SchemaImpl GetImplementation(SchemaObjectType type, string name, string sql)
		{
			switch (type)
			{
				case SchemaObjectType.AutoProc:
					return new AutoProc(name, sql);
				case SchemaObjectType.BrokerPriority:
					return new BrokerPriority(name, sql);
				case SchemaObjectType.Certificate:
					return new Certificate(name, sql);
				case SchemaObjectType.Contract:
					return new Contract(name, sql);
				case SchemaObjectType.Constraint:
					return new Constraint(name, sql);
				case SchemaObjectType.Default:
					return new Default(name, sql);
				case SchemaObjectType.Index:
					return new Index(name, sql);
				case SchemaObjectType.ForeignKey:
					return new Constraint(name, sql);
				case SchemaObjectType.Function:
					return new Function(name, sql);
				case SchemaObjectType.IndexedView:
					return new View(name, sql);
				case SchemaObjectType.Login:
					return new Login(name, sql);
				case SchemaObjectType.MasterKey:
					return new MasterKey(name, sql);
				case SchemaObjectType.MessageType:
					return new MessageType(name, sql);
				case SchemaObjectType.PartitionFunction:
					return new PartitionFunction(name, sql);
				case SchemaObjectType.PartitionScheme:
					return new PartitionScheme(name, sql);
				case SchemaObjectType.Permission:
					return new Permission(name, sql);
				case SchemaObjectType.PrimaryKey:
					return new PrimaryKey(name, sql);
				case SchemaObjectType.PrimaryXmlIndex:
					return new Index(name, sql);
				case SchemaObjectType.Queue:
					return new Queue(name, sql);
				case SchemaObjectType.Role:
					return new Role(name, sql);
				case SchemaObjectType.Schema:
					return new Schema(name, sql);
				case SchemaObjectType.SecondaryXmlIndex:
					return new Index(name, sql);
				case SchemaObjectType.Service:
					return new Service(name, sql);
				case SchemaObjectType.StoredProcedure:
					return new StoredProcedure(name, sql);
				case SchemaObjectType.SymmetricKey:
					return new SymmetricKey(name, sql);
				case SchemaObjectType.Table:
					return new Table(name, sql);
				case SchemaObjectType.Trigger:
					return new Trigger(name, sql);
				case SchemaObjectType.User:
					return new User(name, sql);
				case SchemaObjectType.UserDefinedType:
					return new UserDefinedType(name, sql);
				case SchemaObjectType.View:
					return new View(name, sql);


				case SchemaObjectType.UserPreScript:
                case SchemaObjectType.InternalPreScript:
                case SchemaObjectType.Unused:
				case SchemaObjectType.Script:
				case SchemaObjectType.UserScript:
					return new Script(name, sql);

				default:
					return null;
			}
		}
	}