Class SchemaCodeGenerator<TSchema>
Inheritance
System.Object
SchemaCodeGenerator<TSchema>
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Assembly: Terrasoft.Core.dll
Syntax
public abstract class SchemaCodeGenerator<TSchema> : CodeGenerator where TSchema : Schema, ISchemaManagerSchema<TSchema>
Type Parameters
Constructors
SchemaCodeGenerator(UserConnection, String)
Declaration
protected SchemaCodeGenerator(UserConnection userConnection, string namespaceName)
Parameters
Type |
Name |
Description |
UserConnection |
userConnection |
|
System.String |
namespaceName |
|
Fields
StringEmpty
Declaration
protected const string StringEmpty = ""
Field Value
Type |
Description |
System.String |
|
Properties
CodeStream
Declaration
public MemoryStream CodeStream { get; set; }
Property Value
Type |
Description |
System.IO.MemoryStream |
|
Namespace
Declaration
public string Namespace { get; }
Property Value
Type |
Description |
System.String |
|
ProcessSchemaManager
Declaration
public virtual ProcessSchemaManager ProcessSchemaManager { get; }
Property Value
SchemaSourceConfiguration
Declaration
protected SchemaCodeGeneratorSourceConfiguration<TSchema> SchemaSourceConfiguration { get; }
Property Value
UserConnection
Declaration
public UserConnection UserConnection { get; }
Property Value
Methods
AddGetParentRealUIdsMethod(Collection<CodeGenerator.MethodCollectionItem>, Guid)
Declaration
protected void AddGetParentRealUIdsMethod(Collection<CodeGenerator.MethodCollectionItem> methodCollection, Guid realUId)
Parameters
AddInitializeSchemaLocalizableStringsMethods(TSchema, Collection<CodeGenerator.MethodCollectionItem>)
Declaration
protected void AddInitializeSchemaLocalizableStringsMethods(TSchema schema, Collection<CodeGenerator.MethodCollectionItem> methodCollection)
Parameters
AddOverrideSchemaLocalizableStringsMethods(TSchema, Collection<CodeGenerator.MethodCollectionItem>)
Declaration
protected virtual void AddOverrideSchemaLocalizableStringsMethods(TSchema schema, Collection<CodeGenerator.MethodCollectionItem> methodCollection)
Parameters
AddSchemaClassMethods(TSchema, TSchema, Collection<CodeGenerator.MethodCollectionItem>)
Declaration
protected void AddSchemaClassMethods(TSchema schema, TSchema parentSchema, Collection<CodeGenerator.MethodCollectionItem> methodCollection)
Parameters
AddSchemaLocalizableStringsAsProperties(TSchema, Collection<CodeGenerator.PropertyCollectionItem>)
Declaration
protected void AddSchemaLocalizableStringsAsProperties(TSchema schema, Collection<CodeGenerator.PropertyCollectionItem> propertyCollection)
Parameters
AddSchemaMethod(Collection<CodeGenerator.MethodCollectionItem>, Collection<CodeGenerator.MethodCollectionItem>, SchemaMethod)
Declaration
protected virtual void AddSchemaMethod(Collection<CodeGenerator.MethodCollectionItem> protectedMethodCollection, Collection<CodeGenerator.MethodCollectionItem> publicMethodCollection, SchemaMethod method)
Parameters
AddSchemaMethods(TSchema, TSchema, Collection<CodeGenerator.MethodCollectionItem>, Collection<CodeGenerator.MethodCollectionItem>)
Fills public methods collection with user defined functions.
Declaration
protected virtual void AddSchemaMethods(TSchema schema, TSchema parentSchema, Collection<CodeGenerator.MethodCollectionItem> protectedMethodCollection, Collection<CodeGenerator.MethodCollectionItem> publicMethodCollection)
Parameters
Type |
Name |
Description |
TSchema |
schema |
Target schema with methods.
|
TSchema |
parentSchema |
Parent schema for target.
|
System.Collections.ObjectModel.Collection<CodeGenerator.MethodCollectionItem> |
protectedMethodCollection |
Collection of protected methods.
|
System.Collections.ObjectModel.Collection<CodeGenerator.MethodCollectionItem> |
publicMethodCollection |
Collection of public methods.
|
CreateSchemaSourceConfiguration()
Declaration
protected virtual SchemaCodeGeneratorSourceConfiguration<TSchema> CreateSchemaSourceConfiguration()
Returns
CreateSysSchemaSource(SchemaCodeGeneratorResource<TSchema>)
Declaration
protected virtual SysSchemaSource CreateSysSchemaSource(SchemaCodeGeneratorResource<TSchema> resource)
Parameters
Returns
GenerateAdditionalSources(SchemaCodeGeneratorResource<TSchema>, EntityCollection)
Declaration
protected virtual void GenerateAdditionalSources(SchemaCodeGeneratorResource<TSchema> resource, EntityCollection sources)
Parameters
GenerateSchemaSource(SchemaCodeGeneratorResource<TSchema>, EntityCollection, String)
Generates source code for provided schema.
Declaration
protected virtual void GenerateSchemaSource(SchemaCodeGeneratorResource<TSchema> resource, EntityCollection sourceCollection, string sourceFileName = null)
Parameters
GenerateSources(SchemaCodeGeneratorResource<TSchema>)
Declaration
public virtual EntityCollection GenerateSources(SchemaCodeGeneratorResource<TSchema> resource)
Parameters
Returns
GetDocumentationSection(String, String)
Declaration
protected Collection<string> GetDocumentationSection(string summary, string remarks = null)
Parameters
Type |
Name |
Description |
System.String |
summary |
|
System.String |
remarks |
|
Returns
Type |
Description |
System.Collections.ObjectModel.Collection<System.String> |
|
GetUsingCollection(SchemaCodeGeneratorResource<TSchema>)
Declaration
protected virtual List<string> GetUsingCollection(SchemaCodeGeneratorResource<TSchema> resource)
Parameters
Returns
Type |
Description |
System.Collections.Generic.List<System.String> |
|
SpecifyCommonUsingCollection(Collection<String>, TSchema)
Declaration
protected abstract void SpecifyCommonUsingCollection(Collection<string> commonUsingCollection, TSchema schema)
Parameters
Type |
Name |
Description |
System.Collections.ObjectModel.Collection<System.String> |
commonUsingCollection |
|
TSchema |
schema |
|
WrapInNetStandardCompatibleCode(String, Collection<String>, String)
Declaration
protected Collection<string> WrapInNetStandardCompatibleCode(string methodName, Collection<string> methodBody, string schemaName)
Parameters
Type |
Name |
Description |
System.String |
methodName |
|
System.Collections.ObjectModel.Collection<System.String> |
methodBody |
|
System.String |
schemaName |
|
Returns
Type |
Description |
System.Collections.ObjectModel.Collection<System.String> |
|
WriteInternalProcessSchemaInContext(ProcessBasedSchema, GeneratorContext)
Declaration
protected virtual void WriteInternalProcessSchemaInContext(ProcessBasedSchema schema, GeneratorContext context)
Parameters
WriteSchemaClassAttributes(GeneratorContext, TSchema)
Declaration
protected virtual void WriteSchemaClassAttributes(GeneratorContext context, TSchema schema)
Parameters
WriteSchemaClassBody(GeneratorContext, SchemaCodeGeneratorResource<TSchema>, GeneratorTokenVisibility)
Declaration
protected abstract void WriteSchemaClassBody(GeneratorContext context, SchemaCodeGeneratorResource<TSchema> resource, GeneratorTokenVisibility sourceVisibility)
Parameters
WriteSchemaClassDocumentation(GeneratorContext, SchemaCodeGeneratorResource<TSchema>)
Declaration
protected void WriteSchemaClassDocumentation(GeneratorContext context, SchemaCodeGeneratorResource<TSchema> resource)
Parameters
WriteSchemaClassName(GeneratorContext, SchemaCodeGeneratorResource<TSchema>, GeneratorTokenVisibility)
Declaration
protected virtual void WriteSchemaClassName(GeneratorContext context, SchemaCodeGeneratorResource<TSchema> resource, GeneratorTokenVisibility sourceVisibility)
Parameters
WriteSchemaSourceInContext(SchemaCodeGeneratorResource<TSchema>, GeneratorContext, GeneratorTokenVisibility)
Declaration
public virtual void WriteSchemaSourceInContext(SchemaCodeGeneratorResource<TSchema> resource, GeneratorContext context, GeneratorTokenVisibility sourceVisibility)
Parameters
Extension Methods