C# Class ProtoZBuffer.Core.Generators.AbstractGenerator

Inheritance: IGenerator
ファイルを表示 Open project: CAST-projects/ProtoZBuffer

Public Methods

Method Description
Launch ( ) : bool

Entry point

Protected Methods

Method Description
AbstractGenerator ( ) : System
CopyResourceToOutput ( Assembly assembly, string resource, string outputFolder, string nspace, string filePrefix ) : void

Copy a resource file to the output folder

EndAbstractClass ( messageType message ) : void
GenerateBuild ( messageType message ) : void
GenerateClassConstructor ( messageType message ) : void
GenerateClassFields ( messageType message ) : void
GenerateClassIndex ( messageType message, indexType index ) : void
GenerateClassNestedField ( messageType message, fieldType field ) : void
GenerateClassReferenceField ( messageType message, fieldType field ) : void
GenerateClassSimpleField ( messageType message, fieldType field ) : void
GenerateEqualsAndHashCode ( messageType message ) : void
GenerateFlush ( messageType message ) : void
GenerateLazyImplementation ( protozbuffType p ) : bool
GeneratePrivateOrBuilderImpl ( messageType message ) : void
GenerateSerialization ( messageType message ) : void
GenerateToString ( messageType message ) : void
GetFilePath ( string folder, string name, string nspace ) : string

Creates a file 'name' in a subfolder of 'folder', built from nspace (e.g. boo::bar::athon becomes boo/bar/athon)

GetStream ( string folder, string name, string nspace ) : StreamWriter
GetStreamFromPath ( string filename ) : StreamWriter
InitializeAbstractClass ( messageType message ) : void
InstallResources ( ) : void

Copy all resources to the output folder

ReplaceNamespaceInContent ( string content, string nspace ) : string

Replaces the namespace placeholder by the actual namespace (for resources)

SafeDirectoryCreation ( string dir ) : void

Removes any file (not directory) named dir before creating it

WriteAutoGenerationWarning ( TextWriter writer ) : void

Private Methods

Method Description
CallProtocExe ( ) : void

Runs protoc.exe on the generated .proto file

GenerateAbstractBaseClass ( messageType message ) : void
GenerateAbstractBaseClasses ( protozbuffType node ) : void
GenerateFieldsAccessors ( messageType message ) : void
GenerateFinalClientClass ( messageType message ) : void
GenerateFinalClientClasses ( protozbuffType node ) : void
GenerateHeaderOrBuilderInterface ( messageType message ) : void
GenerateHeaderOrBuilderInterfaces ( protozbuffType node ) : void
GenerateIndexesAccessors ( messageType message ) : void
GenerateProtoOrBuilderInterface ( ) : void
GenerateToStringFormatters ( ) : void

Method Details

AbstractGenerator() protected method

protected AbstractGenerator ( ) : System
return System

CopyResourceToOutput() protected method

Copy a resource file to the output folder
protected CopyResourceToOutput ( Assembly assembly, string resource, string outputFolder, string nspace, string filePrefix ) : void
assembly System.Reflection.Assembly
resource string Name of the resource. It will become part of the resource file name
outputFolder string
nspace string Namespace for the resource content
filePrefix string Some languages has issues handling files with the same name in different folders, hence to possibility to specify a prefix
return void

EndAbstractClass() protected abstract method

protected abstract EndAbstractClass ( messageType message ) : void
message messageType
return void

GenerateBuild() protected abstract method

protected abstract GenerateBuild ( messageType message ) : void
message messageType
return void

GenerateClassConstructor() protected abstract method

protected abstract GenerateClassConstructor ( messageType message ) : void
message messageType
return void

GenerateClassFields() protected abstract method

protected abstract GenerateClassFields ( messageType message ) : void
message messageType
return void

GenerateClassIndex() protected abstract method

protected abstract GenerateClassIndex ( messageType message, indexType index ) : void
message messageType
index indexType
return void

GenerateClassNestedField() protected abstract method

protected abstract GenerateClassNestedField ( messageType message, fieldType field ) : void
message messageType
field fieldType
return void

GenerateClassReferenceField() protected abstract method

protected abstract GenerateClassReferenceField ( messageType message, fieldType field ) : void
message messageType
field fieldType
return void

GenerateClassSimpleField() protected abstract method

protected abstract GenerateClassSimpleField ( messageType message, fieldType field ) : void
message messageType
field fieldType
return void

GenerateEqualsAndHashCode() protected abstract method

protected abstract GenerateEqualsAndHashCode ( messageType message ) : void
message messageType
return void

GenerateFlush() protected abstract method

protected abstract GenerateFlush ( messageType message ) : void
message messageType
return void

GenerateLazyImplementation() protected method

protected GenerateLazyImplementation ( protozbuffType p ) : bool
p protozbuffType
return bool

GeneratePrivateOrBuilderImpl() protected abstract method

protected abstract GeneratePrivateOrBuilderImpl ( messageType message ) : void
message messageType
return void

GenerateSerialization() protected abstract method

protected abstract GenerateSerialization ( messageType message ) : void
message messageType
return void

GenerateToString() protected abstract method

protected abstract GenerateToString ( messageType message ) : void
message messageType
return void

GetFilePath() protected method

Creates a file 'name' in a subfolder of 'folder', built from nspace (e.g. boo::bar::athon becomes boo/bar/athon)
protected GetFilePath ( string folder, string name, string nspace ) : string
folder string
name string
nspace string
return string

GetStream() protected method

protected GetStream ( string folder, string name, string nspace ) : StreamWriter
folder string
name string
nspace string
return System.IO.StreamWriter

GetStreamFromPath() protected static method

protected static GetStreamFromPath ( string filename ) : StreamWriter
filename string
return System.IO.StreamWriter

InitializeAbstractClass() protected abstract method

protected abstract InitializeAbstractClass ( messageType message ) : void
message messageType
return void

InstallResources() protected abstract method

Copy all resources to the output folder
protected abstract InstallResources ( ) : void
return void

Launch() public method

Entry point
public Launch ( ) : bool
return bool

ReplaceNamespaceInContent() protected method

Replaces the namespace placeholder by the actual namespace (for resources)
protected ReplaceNamespaceInContent ( string content, string nspace ) : string
content string
nspace string
return string

SafeDirectoryCreation() protected static method

Removes any file (not directory) named dir before creating it
protected static SafeDirectoryCreation ( string dir ) : void
dir string
return void

WriteAutoGenerationWarning() protected method

protected WriteAutoGenerationWarning ( TextWriter writer ) : void
writer System.IO.TextWriter
return void