89348cb93744a454867bf7076271876b88f77fe5
[mono.git] / mcs / class / referencesource / System.Data.Entity / System / Data / EntityModel / SchemaObjectModel / ModelFunctionTypeElement.cs
1 //---------------------------------------------------------------------
2 // <copyright file="ModelFunctionTypeElement.cs" company="Microsoft">
3 //      Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //
6 // @owner       Microsoft
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
9
10 namespace System.Data.EntityModel.SchemaObjectModel
11 {
12     using System.Collections.Generic;
13     using System.Data.Metadata.Edm;
14     using System.Text;
15     using Som = System.Data.EntityModel.SchemaObjectModel;
16
17     abstract class ModelFunctionTypeElement : FacetEnabledSchemaElement
18     {
19         protected TypeUsage _typeUsage = null;
20
21         internal ModelFunctionTypeElement(SchemaElement parentElement)
22             : base(parentElement)
23         {
24             _typeUsageBuilder = new TypeUsageBuilder(this);  
25         }
26
27         internal abstract void WriteIdentity(StringBuilder builder);
28
29         internal abstract TypeUsage GetTypeUsage();
30         
31         internal abstract bool ResolveNameAndSetTypeUsage(Converter.ConversionCache convertedItemCache, Dictionary<Som.SchemaElement, GlobalItem> newGlobalItems);
32     }
33 }