Class Meta2ClassesTransformation.DataType2Type
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
IDataTypeThe data type for which the operator should be generated
generatedType
CodeTypeDeclarationthe generated type definition
context
ITransformationContextThe 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
IDataTypeThe NMeta data type
generatedType
CodeTypeDeclarationThe type generated for the given data type
context
ITransformationContextThe transformation context
Returns
CreateGetHashCode(IDataType, ITransformationContext)
Generates a GetHashCode method
protected virtual CodeMemberMethod CreateGetHashCode(IDataType input, ITransformationContext context)
Parameters
input
IDataTypeThe data type for which the GetHashCode method should be generated
context
ITransformationContextThe 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
IDataTypeThe data type for which the operator should be generated
generatedType
CodeTypeDeclarationThe generated tye definition
context
ITransformationContextThe 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
IDataTypeThe NMeta DataType for which to generate the Equals method
output
CodeTypeDeclarationThe generated type declaration
context
ITransformationContextThe transformation context
Returns
CreateOutput(IDataType, ITransformationContext)
Creates the output of this transformation rule
public override CodeTypeDeclaration CreateOutput(IDataType input, ITransformationContext context)
Parameters
input
IDataTypeThe input NMeta DataType
context
ITransformationContextThe 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
IDataTypeThe data type
context
ITransformationContextThe 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
IDataTypeThe data type
generatedType
CodeTypeDeclarationThe generated type definition
context
ITransformationContextThe 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
IDataTypeThe data type
generatedType
CodeTypeDeclarationThe generated type
context
ITransformationContextThe 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
IDataTypeThe NMeta DataType for which to generate the struct type declaration
generatedType
CodeTypeDeclarationThe type declaration for the struct
context
ITransformationContextThe transformation context