import { MetaDataTabModel } from './metadata/MetaDataTab.model'; export class Definition { // public metaDataTab: MetaDataTabModel; public imports: Map; public dslDefinition: DslDefinition; // public dslDefinition: constructor() { this.imports = new Map(); // this.metaDataTab = new MetaDataTabModel(); this.dslDefinition = new DslDefinition(); } public setImports(key: string, value: string) { this.imports.set(key, value); return this; } // public setMetaData(metaDataTab: MetaDataTabModel) { // this.metaDataTab = metaDataTab; // return this; // } public setDslDefinition(dslDefinition: DslDefinition): Definition { this.dslDefinition = dslDefinition; return this; } } export class DslDefinition { content: string; } export class Base { public files: Map; constructor() { this.files = new Map(); } public setContent(key: string, value: string) { this.files.set(key, value); return this; } public getValue(key: string): string { return this.files.get(key); } } export class Scripts { public files: Map; constructor() { this.files = new Map(); } public setScripts(key: string, value: string) { this.files.set(key, value); return this; } } export class Template { public files: Map; constructor() { this.files = new Map(); } public setTemplates(key: string, value: string) { this.files.set(key, value); return this; } public getValue(key: string): string { return this.files.get(key); } } export class Mapping extends Base { } export class CBAPackage { public metaData: MetaDataTabModel; public definitions: Definition; public scripts: Scripts; public templates: Template; public mapping: Mapping; constructor() { this.definitions = new Definition(); this.scripts = new Scripts(); this.metaData = new MetaDataTabModel(); this.templates = new Template(); this.mapping = new Mapping(); } }