import { IPSDEAppendParamLogic } from './ipsdeappend-param-logic'; import { IPSDELogic } from './ipsdelogic'; import { IPSDELogicParam } from './ipsdelogic-param'; import { PSDELogicNodeImpl } from './psdelogic-node-impl'; export class PSDEAppendParamLogicImpl extends PSDELogicNodeImpl implements IPSDEAppendParamLogic { get dstIndex(): number { return this.M.dstIndex != null ? this.M.dstIndex : -1; } protected dstpsdelogicparam: IPSDELogicParam | null = null; getDstPSDELogicParam(): IPSDELogicParam | null { if (this.dstpsdelogicparam != null) return this.dstpsdelogicparam; const value = this.M.getDstPSDELogicParam; if (value == null) { return null; } const ipsdelogic = this.getParentPSModelObject('dataentity.logic.IPSDELogic') as IPSDELogic; if (ipsdelogic != null) { this.dstpsdelogicparam = ipsdelogic.findPSDELogicParam(value); } return this.dstpsdelogicparam; } get dstPSDELogicParam(): IPSDELogicParam | null { return this.getDstPSDELogicParam(); } getDstPSDELogicParamMust(): IPSDELogicParam { const value = this.getDstPSDELogicParam(); if (value == null) { throw new Error('未指定目标逻辑参数对象'); } return value; } get srcFieldName(): string { return this.M.srcFieldName; } get srcIndex(): number { return this.M.srcIndex != null ? this.M.srcIndex : -1; } protected srcpsdelogicparam: IPSDELogicParam | null = null; getSrcPSDELogicParam(): IPSDELogicParam | null { if (this.srcpsdelogicparam != null) return this.srcpsdelogicparam; const value = this.M.getSrcPSDELogicParam; if (value == null) { return null; } const ipsdelogic = this.getParentPSModelObject('dataentity.logic.IPSDELogic') as IPSDELogic; if (ipsdelogic != null) { this.srcpsdelogicparam = ipsdelogic.findPSDELogicParam(value); } return this.srcpsdelogicparam; } get srcPSDELogicParam(): IPSDELogicParam | null { return this.getSrcPSDELogicParam(); } getSrcPSDELogicParamMust(): IPSDELogicParam { const value = this.getSrcPSDELogicParam(); if (value == null) { throw new Error('未指定源逻辑参数对象'); } return value; } get srcSize(): number { return this.M.srcSize != null ? this.M.srcSize : -1; } get cls(): string { return 'PSDEAppendParamLogicImpl'; } instanceof(cls: string): boolean { if (cls == 'dataentity.logic.IPSDEAppendParamLogic') return true; return super.instanceof(cls); } }