Table of Contents

Class Meta2ClassesTransformation.DataType2Type

Namespace
NMF.Models.Meta
Assembly
NMF.Models.MetaTransformation.dll

The transformation rule to generate a struct from an NMeta DataType

public class Meta2ClassesTransformation.DataType2Type : TransformationRule<IDataType, CodeTypeDeclaration>
Inheritance
Meta2ClassesTransformation.DataType2Type
Inherited Members

Methods

CreateEqualsOperator(IDataType, CodeTypeDeclaration, ITransformationContext)

Creates an equals operator

public virtual CodeTypeMember CreateEqualsOperator(IDataType dataType, CodeTypeDeclaration generatedType, ITransformationContext context)

Parameters

dataType IDataType

The data type for which the operator should be generated

generatedType CodeTypeDeclaration

the generated type definition

context ITransformationContext

The context in which the request is made

Returns

CodeTypeMember

An equals operator

CreateGenericEquals(IDataType, CodeTypeDeclaration, ITransformationContext)

Generates the generic Equals method implementing Equals

protected virtual CodeMemberMethod CreateGenericEquals(IDataType input, CodeTypeDeclaration generatedType, ITransformationContext context)

Parameters

input IDataType

The NMeta data type

generatedType CodeTypeDeclaration

The type generated for the given data type

context ITransformationContext

The transformation context

Returns

CodeMemberMethod

CreateGetHashCode(IDataType, ITransformationContext)

Generates a GetHashCode method

protected virtual CodeMemberMethod CreateGetHashCode(IDataType input, ITransformationContext context)

Parameters

input IDataType

The data type for which the GetHashCode method should be generated

context ITransformationContext

The context in which the transformation is made

Returns

CodeMemberMethod

A definition of the GetHashCode method

CreateNotEqualsOperator(IDataType, CodeTypeDeclaration, ITransformationContext)

Creates a not-equals operator

public virtual CodeTypeMember CreateNotEqualsOperator(IDataType dataType, CodeTypeDeclaration generatedType, ITransformationContext context)

Parameters

dataType IDataType

The data type for which the operator should be generated

generatedType CodeTypeDeclaration

The generated tye definition

context ITransformationContext

The context in which the request is made

Returns

CodeTypeMember

An unequals operator

CreateObjectEquals(IDataType, CodeTypeDeclaration, ITransformationContext)

Generates the Object Equals overriding method

protected virtual CodeMemberMethod CreateObjectEquals(IDataType input, CodeTypeDeclaration output, ITransformationContext context)

Parameters

input IDataType

The NMeta DataType for which to generate the Equals method

output CodeTypeDeclaration

The generated type declaration

context ITransformationContext

The transformation context

Returns

CodeMemberMethod

CreateOutput(IDataType, ITransformationContext)

Creates the output of this transformation rule

public override CodeTypeDeclaration CreateOutput(IDataType input, ITransformationContext context)

Parameters

input IDataType

The input NMeta DataType

context ITransformationContext

The transformation context

Returns

CodeTypeDeclaration

The generated code declaration

CreateSerializeToJson(IDataType, ITransformationContext)

Creates a method that exports the data type to Json

public virtual CodeMemberMethod CreateSerializeToJson(IDataType dataType, ITransformationContext context)

Parameters

dataType IDataType

The data type

context ITransformationContext

The context in which the request is made

Returns

CodeMemberMethod

A method declaration

CreateTryParseJsonMethod(IDataType, CodeTypeDeclaration, ITransformationContext)

Creates a TryParse method targeted for Json

public virtual CodeMemberMethod CreateTryParseJsonMethod(IDataType dataType, CodeTypeDeclaration generatedType, ITransformationContext context)

Parameters

dataType IDataType

The data type

generatedType CodeTypeDeclaration

The generated type definition

context ITransformationContext

The context in which the call is made

Returns

CodeMemberMethod

A method declaration

CreateTypeConverter(IDataType, CodeTypeDeclaration, ITransformationContext)

Creates a type converter for the given data type

protected virtual CodeTypeDeclaration CreateTypeConverter(IDataType dataType, CodeTypeDeclaration generatedType, ITransformationContext context)

Parameters

dataType IDataType

The data type

generatedType CodeTypeDeclaration

The generated type

context ITransformationContext

The context in which the request is made

Returns

CodeTypeDeclaration

A type declaration of the type converter

RegisterDependencies()

Registers the dependencies, i.e. marks the rule instantiating for Type2Type and requires the transformation of attributes

public override void RegisterDependencies()

Transform(IDataType, CodeTypeDeclaration, ITransformationContext)

Initializes the generated code declaration

public override void Transform(IDataType input, CodeTypeDeclaration generatedType, ITransformationContext context)

Parameters

input IDataType

The NMeta DataType for which to generate the struct type declaration

generatedType CodeTypeDeclaration

The type declaration for the struct

context ITransformationContext

The transformation context