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
dataTypeIDataTypeThe data type for which the operator should be generated
generatedTypeCodeTypeDeclarationthe generated type definition
contextITransformationContextThe 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
inputIDataTypeThe NMeta data type
generatedTypeCodeTypeDeclarationThe type generated for the given data type
contextITransformationContextThe transformation context
Returns
CreateGetHashCode(IDataType, ITransformationContext)
Generates a GetHashCode method
protected virtual CodeMemberMethod CreateGetHashCode(IDataType input, ITransformationContext context)
Parameters
inputIDataTypeThe data type for which the GetHashCode method should be generated
contextITransformationContextThe 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
dataTypeIDataTypeThe data type for which the operator should be generated
generatedTypeCodeTypeDeclarationThe generated tye definition
contextITransformationContextThe 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
inputIDataTypeThe NMeta DataType for which to generate the Equals method
outputCodeTypeDeclarationThe generated type declaration
contextITransformationContextThe transformation context
Returns
CreateOutput(IDataType, ITransformationContext)
Creates the output of this transformation rule
public override CodeTypeDeclaration CreateOutput(IDataType input, ITransformationContext context)
Parameters
inputIDataTypeThe input NMeta DataType
contextITransformationContextThe 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
dataTypeIDataTypeThe data type
contextITransformationContextThe 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
dataTypeIDataTypeThe data type
generatedTypeCodeTypeDeclarationThe generated type definition
contextITransformationContextThe 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
dataTypeIDataTypeThe data type
generatedTypeCodeTypeDeclarationThe generated type
contextITransformationContextThe 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
inputIDataTypeThe NMeta DataType for which to generate the struct type declaration
generatedTypeCodeTypeDeclarationThe type declaration for the struct
contextITransformationContextThe transformation context