in objectModel/TypeScript/Cdm/CdmCorpusDefinition.ts [682:830]
public MakeObject<T extends CdmObject>(ofType: cdmObjectType, nameOrRef?: string, simmpleNameRef?: boolean): T {
// let bodyCode = () =>
{
let newObj: CdmObject;
switch (ofType) {
case cdmObjectType.argumentDef:
newObj = new CdmArgumentDefinition(this.ctx, nameOrRef);
(newObj as CdmArgumentDefinition).name = nameOrRef;
break;
case cdmObjectType.attributeGroupDef:
newObj = new CdmAttributeGroupDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.attributeGroupRef:
newObj = new CdmAttributeGroupReference(this.ctx, nameOrRef, simmpleNameRef);
break;
case cdmObjectType.constantEntityDef:
newObj = new CdmConstantEntityDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.dataTypeDef:
newObj = new CdmDataTypeDefinition(this.ctx, nameOrRef, undefined);
break;
case cdmObjectType.dataTypeRef:
newObj = new CdmDataTypeReference(this.ctx, nameOrRef, simmpleNameRef);
break;
case cdmObjectType.documentDef:
newObj = new CdmDocumentDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.manifestDef:
newObj = new CdmManifestDefinition(this.ctx, nameOrRef);
// Log and ingest a message when a new manifest is created
Logger.debug(this.ctx, this.TAG, this.MakeObject.name, newObj.atCorpusPath, "New Manifest created.", true);
break;
case cdmObjectType.entityAttributeDef:
newObj = new CdmEntityAttributeDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.entityDef:
newObj = new CdmEntityDefinition(this.ctx, nameOrRef, undefined);
break;
case cdmObjectType.entityRef:
newObj = new CdmEntityReference(this.ctx, nameOrRef, simmpleNameRef);
break;
case cdmObjectType.import:
newObj = new CdmImport(this.ctx, nameOrRef, undefined);
break;
case cdmObjectType.parameterDef:
newObj = new CdmParameterDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.purposeDef:
newObj = new CdmPurposeDefinition(this.ctx, nameOrRef, undefined);
break;
case cdmObjectType.purposeRef:
newObj = new CdmPurposeReference(this.ctx, nameOrRef, simmpleNameRef);
break;
case cdmObjectType.traitDef:
newObj = new CdmTraitDefinition(this.ctx, nameOrRef, undefined);
break;
case cdmObjectType.traitRef:
newObj = new CdmTraitReference(this.ctx, nameOrRef, simmpleNameRef, false);
break;
case cdmObjectType.traitGroupDef:
newObj = new CdmTraitGroupDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.traitGroupRef:
newObj = new CdmTraitGroupReference(this.ctx, nameOrRef, simmpleNameRef);
break;
case cdmObjectType.typeAttributeDef:
newObj = new CdmTypeAttributeDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.attributeContextDef:
newObj = new CdmAttributeContext(this.ctx, nameOrRef);
break;
case cdmObjectType.attributeContextRef:
newObj = new CdmAttributeContextReference(this.ctx, nameOrRef);
break;
case cdmObjectType.attributeRef:
newObj = new CdmAttributeReference(this.ctx, nameOrRef, simmpleNameRef);
break;
case cdmObjectType.dataPartitionDef:
newObj = new CdmDataPartitionDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.dataPartitionPatternDef:
newObj = new CdmDataPartitionPatternDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.manifestDeclarationDef:
newObj = new CdmManifestDeclarationDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.referencedEntityDeclarationDef:
newObj = new CdmReferencedEntityDeclarationDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.localEntityDeclarationDef:
newObj = new CdmLocalEntityDeclarationDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.folderDef:
newObj = new CdmFolderDefinition(this.ctx, nameOrRef);
break;
case cdmObjectType.attributeResolutionGuidanceDef:
newObj = new CdmAttributeResolutionGuidance(this.ctx);
break;
case cdmObjectType.e2eRelationshipDef:
newObj = new CdmE2ERelationship(this.ctx, nameOrRef);
break;
case cdmObjectType.projectionDef:
newObj = new CdmProjection(this.ctx);
break;
case cdmObjectType.operationAddCountAttributeDef:
newObj = new CdmOperationAddCountAttribute(this.ctx);
break;
case cdmObjectType.operationAddSupportingAttributeDef:
newObj = new CdmOperationAddSupportingAttribute(this.ctx);
break;
case cdmObjectType.operationAddTypeAttributeDef:
newObj = new CdmOperationAddTypeAttribute(this.ctx);
break;
case cdmObjectType.operationExcludeAttributesDef:
newObj = new CdmOperationExcludeAttributes(this.ctx);
break;
case cdmObjectType.operationArrayExpansionDef:
newObj = new CdmOperationArrayExpansion(this.ctx);
break;
case cdmObjectType.operationCombineAttributesDef:
newObj = new CdmOperationCombineAttributes(this.ctx);
break;
case cdmObjectType.operationRenameAttributesDef:
newObj = new CdmOperationRenameAttributes(this.ctx);
break;
case cdmObjectType.operationReplaceAsForeignKeyDef:
newObj = new CdmOperationReplaceAsForeignKey(this.ctx);
break;
case cdmObjectType.operationIncludeAttributesDef:
newObj = new CdmOperationIncludeAttributes(this.ctx);
break;
case cdmObjectType.operationAddAttributeGroupDef:
newObj = new CdmOperationAddAttributeGroup(this.ctx);
break;
case cdmObjectType.operationAlterTraitsDef:
newObj = new CdmOperationAlterTraits(this.ctx);
break;
case cdmObjectType.operationAddArtifactAttributeDef:
newObj = new CdmOperationAddArtifactAttribute(this.ctx);
break;
default:
}
return newObj as T;
}
// return p.measure(bodyCode);
}