import { AbstractUIClass } from "ui5plugin-parser/dist/classes/UI5Classes/UI5Parser/UIClass/AbstractUIClass" ; import { UI5Plugin } from "../../../../../../UI5Plugin" ; import { IPropertyGetterStrategy } from "../interfaces/IPropertyGetterStrategy" ; export class SAPClassPropertyGetterStrategy implements IPropertyGetterStrategy { private readonly _UIClass : AbstractUIClass ; constructor ( UIClass ) { this . _UIClass = UIClass ; } getParent ( ) { let theParent ; if ( this . _UIClass . parentClassNameDotNotation ) { const parentClass = UI5Plugin . getInstance ( ) . parser . classFactory . getUIClass ( this . _UIClass . parentClassNameDotNotation ) ; theParent = new SAPClassPropertyGetterStrategy ( parentClass ) ; } return theParent ; } getProperties ( ) { return this . _UIClass . properties ; } getProperty ( property ) { return { name : property . name , defaultValue : "" } ; } }