Kinetica   C#   API  Version 7.2.3.0
Avro.CodeGen Class Reference

Public Member Functions

 CodeGen ()
 Default constructor More...
 
virtual void AddProtocol (Protocol protocol)
 Adds a protocol object to generate code for More...
 
virtual void AddSchema (Schema schema)
 Adds a schema object to generate code for More...
 
virtual CodeCompileUnit GenerateCode ()
 Generates code for the given protocol and schema objects More...
 
virtual void WriteCompileUnit (string outputFile)
 Writes the generated compile unit into one file More...
 
virtual void WriteTypes (string outputdir)
 Writes each types in each namespaces into individual files More...
 

Static Public Member Functions

static Schema getNullableType (UnionSchema schema)
 Gets the schema of a union with null More...
 

Protected Member Functions

virtual CodeNamespace addNamespace (string name)
 Adds a namespace object for the given name into the dictionary if it doesn't exist yet More...
 
virtual void processSchemas ()
 Generates code for the schema objects More...
 
virtual void processProtocols ()
 Generates code for the protocol objects More...
 
virtual SchemaNames generateNames (Protocol protocol)
 Generate list of named schemas from given protocol More...
 
virtual SchemaNames generateNames (Schema schema)
 Generate list of named schemas from given schema More...
 
virtual void addName (Schema schema, SchemaNames names)
 Recursively search the given schema for named schemas and adds them to the given container More...
 
virtual void processFixed (Schema schema)
 Creates a class declaration for fixed schema More...
 
virtual void processEnum (Schema schema)
 Creates an enum declaration More...
 
virtual void processInterface (Protocol protocol)
 
virtual CodeTypeDeclaration processRecord (Schema schema)
 Creates a class declaration More...
 
virtual void createSchemaField (Schema schema, CodeTypeDeclaration ctd, bool overrideFlag)
 Creates the static schema field for class types More...
 
virtual CodeCommentStatement createDocComment (string comment)
 Creates an XML documentation for the given comment More...
 

Protected Attributes

Dictionary< string, CodeNamespace > namespaceLookup = new Dictionary<string, CodeNamespace>(StringComparer.Ordinal)
 List of generated namespaces More...
 

Properties

CodeCompileUnit CompileUnit [get]
 Object that contains all the generated types More...
 
IList< SchemaSchemas [get]
 List of schemas to generate code for More...
 
IList< ProtocolProtocols [get]
 List of protocols to generate code for More...
 

Detailed Description

Definition at line 30 of file CodeGen.cs.

Constructor & Destructor Documentation

◆ CodeGen()

Avro.CodeGen.CodeGen ( )
inline

Default constructor

Definition at line 55 of file CodeGen.cs.

Member Function Documentation

◆ addName()

virtual void Avro.CodeGen.addName ( Schema  schema,
SchemaNames  names 
)
inlineprotectedvirtual

Recursively search the given schema for named schemas and adds them to the given container

Parameters
schemaschema object to search
nameslist of named schemas

Definition at line 195 of file CodeGen.cs.

◆ addNamespace()

virtual CodeNamespace Avro.CodeGen.addNamespace ( string  name)
inlineprotectedvirtual

Adds a namespace object for the given name into the dictionary if it doesn't exist yet

Parameters
namename of namespace
Returns

Definition at line 84 of file CodeGen.cs.

◆ AddProtocol()

virtual void Avro.CodeGen.AddProtocol ( Protocol  protocol)
inlinevirtual

Adds a protocol object to generate code for

Parameters
protocolprotocol object

Definition at line 65 of file CodeGen.cs.

◆ AddSchema()

virtual void Avro.CodeGen.AddSchema ( Schema  schema)
inlinevirtual

Adds a schema object to generate code for

Parameters
schemaschema object

Definition at line 74 of file CodeGen.cs.

◆ createDocComment()

virtual CodeCommentStatement Avro.CodeGen.createDocComment ( string  comment)
inlineprotectedvirtual

Creates an XML documentation for the given comment

Parameters
commentcomment
Returns
CodeCommentStatement object

Definition at line 789 of file CodeGen.cs.

◆ createSchemaField()

virtual void Avro.CodeGen.createSchemaField ( Schema  schema,
CodeTypeDeclaration  ctd,
bool  overrideFlag 
)
inlineprotectedvirtual

Creates the static schema field for class types

Parameters
schemaschema
ctdCodeTypeDeclaration for the class

Definition at line 758 of file CodeGen.cs.

◆ GenerateCode()

virtual CodeCompileUnit Avro.CodeGen.GenerateCode ( )
inlinevirtual

Generates code for the given protocol and schema objects

Returns
CodeCompileUnit object

Definition at line 107 of file CodeGen.cs.

◆ generateNames() [1/2]

virtual SchemaNames Avro.CodeGen.generateNames ( Protocol  protocol)
inlineprotectedvirtual

Generate list of named schemas from given protocol

Parameters
protocolprotocol to process
Returns

Definition at line 170 of file CodeGen.cs.

◆ generateNames() [2/2]

virtual SchemaNames Avro.CodeGen.generateNames ( Schema  schema)
inlineprotectedvirtual

Generate list of named schemas from given schema

Parameters
schemaschema to process
Returns

Definition at line 183 of file CodeGen.cs.

◆ getNullableType()

static Schema Avro.CodeGen.getNullableType ( UnionSchema  schema)
inlinestatic

Gets the schema of a union with null

Parameters
schemaunion schema
Returns
schema that is nullible

Definition at line 734 of file CodeGen.cs.

◆ processEnum()

virtual void Avro.CodeGen.processEnum ( Schema  schema)
inlineprotectedvirtual

Creates an enum declaration

Parameters
schemaenum schema
nsnamespace

Definition at line 301 of file CodeGen.cs.

◆ processFixed()

virtual void Avro.CodeGen.processFixed ( Schema  schema)
inlineprotectedvirtual

Creates a class declaration for fixed schema

Parameters
schemafixed schema
nsnamespace object

Definition at line 251 of file CodeGen.cs.

◆ processInterface()

virtual void Avro.CodeGen.processInterface ( Protocol  protocol)
inlineprotectedvirtual

Definition at line 326 of file CodeGen.cs.

◆ processProtocols()

virtual void Avro.CodeGen.processProtocols ( )
inlineprotectedvirtual

Generates code for the protocol objects

Definition at line 143 of file CodeGen.cs.

◆ processRecord()

virtual CodeTypeDeclaration Avro.CodeGen.processRecord ( Schema  schema)
inlineprotectedvirtual

Creates a class declaration

Parameters
schemarecord schema
nsnamespace
Returns

Definition at line 515 of file CodeGen.cs.

◆ processSchemas()

virtual void Avro.CodeGen.processSchemas ( )
inlineprotectedvirtual

Generates code for the schema objects

Definition at line 120 of file CodeGen.cs.

◆ WriteCompileUnit()

virtual void Avro.CodeGen.WriteCompileUnit ( string  outputFile)
inlinevirtual

Writes the generated compile unit into one file

Parameters
outputFilename of output file to write to

Definition at line 799 of file CodeGen.cs.

◆ WriteTypes()

virtual void Avro.CodeGen.WriteTypes ( string  outputdir)
inlinevirtual

Writes each types in each namespaces into individual files

Parameters
outputdirname of directory to write to

Definition at line 818 of file CodeGen.cs.

Member Data Documentation

◆ namespaceLookup

Dictionary<string, CodeNamespace> Avro.CodeGen.namespaceLookup = new Dictionary<string, CodeNamespace>(StringComparer.Ordinal)
protected

List of generated namespaces

Definition at line 50 of file CodeGen.cs.

Property Documentation

◆ CompileUnit

CodeCompileUnit Avro.CodeGen.CompileUnit
get

Object that contains all the generated types

Definition at line 35 of file CodeGen.cs.

◆ Protocols

IList<Protocol> Avro.CodeGen.Protocols
get

List of protocols to generate code for

Definition at line 45 of file CodeGen.cs.

◆ Schemas

IList<Schema> Avro.CodeGen.Schemas
get

List of schemas to generate code for

Definition at line 40 of file CodeGen.cs.


The documentation for this class was generated from the following file: