UNPKG

@tripsnek/tmf

Version:

TypeScript Modeling Framework - A TypeScript port of the Eclipse Modeling Framework (EMF)

103 lines 10.2 kB
import { ETypedElementImpl } from './etyped-element-impl.js'; export class EStructuralFeatureImpl extends ETypedElementImpl { featureID = -1; transient = false; // private unsettable = true; // private derived: boolean = false; defaultValueLiteral; defaultValue; eContainingClass; changeable = true; volatile = false; //********************************************************************** constructor(name, eType) { super(name, eType); } // public isDerived(): boolean { // return this.derived; // } // public setDerived(value: boolean): void { // this.derived = value; // } isTransient() { return this.transient; } setTransient(value) { this.transient = value; } // public isUnsettable(): boolean { // return this.unsettable; // } // public setUnsettable(value: boolean): void { // this.unsettable = value; // } isVolatile() { return this.volatile; } setVolatile(value) { this.volatile = value; } setFeatureID(value) { this.featureID = value; } getFeatureID() { return this.featureID; } // public isList() { // return ( // this.getUpperBound() === EStructuralFeatureImpl.UNBOUNDED_MULTIPLICITY && // this.isOrdered() && // !this.isUnique() // ); // } // public isSet() { // return ( // this.getUpperBound() === EStructuralFeatureImpl.UNBOUNDED_MULTIPLICITY && // !this.isOrdered() && // this.isUnique() // ); // } /** * Needed for BasicEList, which cannot import EReference without inducing * a circular import. */ isContainment() { return false; } // public getContainerClass(): string | null { // // TODO: Note that EClass.getInstanceClass() is not yet implemented... // // return this._eContainingClass.getInstanceClass(); // return null; // } getDefaultValue() { return this.defaultValue; } setDefaultValue(value) { this.defaultValue = value; } getDefaultValueLiteral() { return this.defaultValueLiteral; } setDefaultValueLiteral(value) { this.defaultValueLiteral = value; } getEContainingClass() { return this.eContainingClass; } //TODO: GET RID OF THIS. Should not be public, should be handled by EOpposite // NOTE: Parallel to EOperation setEContainingClass(owner) { if (owner) this.eContainingClass = owner; } isChangeable() { return this.changeable; } setChangeable(value) { this.changeable = value; } eContainer() { return this.eContainingClass; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0cnVjdHVyYWwtZmVhdHVyZS1pbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXRhbW9kZWwvaW1wbC9lc3RydWN0dXJhbC1mZWF0dXJlLWltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJN0QsTUFBTSxPQUFPLHNCQUNYLFNBQVEsaUJBQWlCO0lBR2YsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDMUIsNkJBQTZCO0lBQzdCLG9DQUFvQztJQUM1QixtQkFBbUIsQ0FBVTtJQUM3QixZQUFZLENBQU07SUFFbEIsZ0JBQWdCLENBQVU7SUFDMUIsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXpCLHdFQUF3RTtJQUV4RSxZQUFtQixJQUFhLEVBQUUsS0FBbUI7UUFDbkQsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6QixJQUFJO0lBRUosNENBQTRDO0lBQzVDLDBCQUEwQjtJQUMxQixJQUFJO0lBRUcsV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsNEJBQTRCO0lBQzVCLElBQUk7SUFFSiwrQ0FBK0M7SUFDL0MsNkJBQTZCO0lBQzdCLElBQUk7SUFFRyxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLGdGQUFnRjtJQUNoRiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLE9BQU87SUFDUCxJQUFJO0lBQ0osbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixnRkFBZ0Y7SUFDaEYsMkJBQTJCO0lBQzNCLHNCQUFzQjtJQUN0QixPQUFPO0lBQ1AsSUFBSTtJQUNKOzs7T0FHRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsOENBQThDO0lBQzlDLDJFQUEyRTtJQUMzRSx5REFBeUQ7SUFDekQsaUJBQWlCO0lBQ2pCLElBQUk7SUFFRyxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRU0sc0JBQXNCLENBQUMsS0FBYTtRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSwrQkFBK0I7SUFDeEIsbUJBQW1CLENBQUMsS0FBeUI7UUFDbEQsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDZSxVQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVDbGFzc2lmaWVyIH0gZnJvbSAnLi4vYXBpL2VjbGFzc2lmaWVyLmpzJztcclxuaW1wb3J0IHsgRUNsYXNzIH0gZnJvbSAnLi4vYXBpL2VjbGFzcy5qcyc7XHJcbmltcG9ydCB7IEVUeXBlZEVsZW1lbnRJbXBsIH0gZnJvbSAnLi9ldHlwZWQtZWxlbWVudC1pbXBsLmpzJztcclxuaW1wb3J0IHsgRVN0cnVjdHVyYWxGZWF0dXJlIH0gZnJvbSAnLi4vYXBpL2VzdHJ1Y3R1cmFsLWZlYXR1cmUuanMnO1xyXG5pbXBvcnQgeyBFT2JqZWN0IH0gZnJvbSAnLi4vYXBpL2VvYmplY3QuanMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVTdHJ1Y3R1cmFsRmVhdHVyZUltcGxcclxuICBleHRlbmRzIEVUeXBlZEVsZW1lbnRJbXBsXHJcbiAgaW1wbGVtZW50cyBFU3RydWN0dXJhbEZlYXR1cmVcclxue1xyXG4gIHByb3RlY3RlZCBmZWF0dXJlSUQgPSAtMTtcclxuICBwcml2YXRlIHRyYW5zaWVudCA9IGZhbHNlO1xyXG4gIC8vIHByaXZhdGUgdW5zZXR0YWJsZSA9IHRydWU7XHJcbiAgLy8gcHJpdmF0ZSBkZXJpdmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBkZWZhdWx0VmFsdWVMaXRlcmFsITogc3RyaW5nO1xyXG4gIHByaXZhdGUgZGVmYXVsdFZhbHVlOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgZUNvbnRhaW5pbmdDbGFzcyE6IEVDbGFzcztcclxuICBwcml2YXRlIGNoYW5nZWFibGUgPSB0cnVlO1xyXG4gIHByaXZhdGUgdm9sYXRpbGUgPSBmYWxzZTtcclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lPzogc3RyaW5nLCBlVHlwZT86IEVDbGFzc2lmaWVyKSB7XHJcbiAgICBzdXBlcihuYW1lLCBlVHlwZSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgaXNEZXJpdmVkKCk6IGJvb2xlYW4ge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuZGVyaXZlZDtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBzZXREZXJpdmVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLmRlcml2ZWQgPSB2YWx1ZTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBpc1RyYW5zaWVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zaWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUcmFuc2llbnQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNpZW50ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgaXNVbnNldHRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMudW5zZXR0YWJsZTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBzZXRVbnNldHRhYmxlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLnVuc2V0dGFibGUgPSB2YWx1ZTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBpc1ZvbGF0aWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudm9sYXRpbGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Vm9sYXRpbGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudm9sYXRpbGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRGZWF0dXJlSUQodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5mZWF0dXJlSUQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGZWF0dXJlSUQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmZlYXR1cmVJRDtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBpc0xpc3QoKSB7XHJcbiAgLy8gICByZXR1cm4gKFxyXG4gIC8vICAgICB0aGlzLmdldFVwcGVyQm91bmQoKSA9PT0gRVN0cnVjdHVyYWxGZWF0dXJlSW1wbC5VTkJPVU5ERURfTVVMVElQTElDSVRZICYmXHJcbiAgLy8gICAgIHRoaXMuaXNPcmRlcmVkKCkgJiZcclxuICAvLyAgICAgIXRoaXMuaXNVbmlxdWUoKVxyXG4gIC8vICAgKTtcclxuICAvLyB9XHJcbiAgLy8gcHVibGljIGlzU2V0KCkge1xyXG4gIC8vICAgcmV0dXJuIChcclxuICAvLyAgICAgdGhpcy5nZXRVcHBlckJvdW5kKCkgPT09IEVTdHJ1Y3R1cmFsRmVhdHVyZUltcGwuVU5CT1VOREVEX01VTFRJUExJQ0lUWSAmJlxyXG4gIC8vICAgICAhdGhpcy5pc09yZGVyZWQoKSAmJlxyXG4gIC8vICAgICB0aGlzLmlzVW5pcXVlKClcclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG4gIC8qKlxyXG4gICAqIE5lZWRlZCBmb3IgQmFzaWNFTGlzdCwgd2hpY2ggY2Fubm90IGltcG9ydCBFUmVmZXJlbmNlIHdpdGhvdXQgaW5kdWNpbmdcclxuICAgKiBhIGNpcmN1bGFyIGltcG9ydC5cclxuICAgKi9cclxuICBwdWJsaWMgaXNDb250YWlubWVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBnZXRDb250YWluZXJDbGFzcygpOiBzdHJpbmcgfCBudWxsIHtcclxuICAvLyAgIC8vIFRPRE86IE5vdGUgdGhhdCBFQ2xhc3MuZ2V0SW5zdGFuY2VDbGFzcygpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuLi5cclxuICAvLyAgIC8vIHJldHVybiB0aGlzLl9lQ29udGFpbmluZ0NsYXNzLmdldEluc3RhbmNlQ2xhc3MoKTtcclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGdldERlZmF1bHRWYWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERlZmF1bHRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERlZmF1bHRWYWx1ZUxpdGVyYWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRWYWx1ZUxpdGVyYWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGVmYXVsdFZhbHVlTGl0ZXJhbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZUxpdGVyYWwgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFQ29udGFpbmluZ0NsYXNzKCk6IEVDbGFzcyB7XHJcbiAgICByZXR1cm4gdGhpcy5lQ29udGFpbmluZ0NsYXNzO1xyXG4gIH1cclxuXHJcbiAgLy9UT0RPOiBHRVQgUklEIE9GIFRISVMuIFNob3VsZCBub3QgYmUgcHVibGljLCBzaG91bGQgYmUgaGFuZGxlZCBieSBFT3Bwb3NpdGVcclxuICAvLyBOT1RFOiBQYXJhbGxlbCB0byBFT3BlcmF0aW9uXHJcbiAgcHVibGljIHNldEVDb250YWluaW5nQ2xhc3Mob3duZXI6IEVDbGFzcyB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKG93bmVyKSB0aGlzLmVDb250YWluaW5nQ2xhc3MgPSBvd25lcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0NoYW5nZWFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VhYmxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldENoYW5nZWFibGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlYWJsZSA9IHZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgb3ZlcnJpZGUgZUNvbnRhaW5lcigpOiBFT2JqZWN0IHtcclxuICAgIHJldHVybiB0aGlzLmVDb250YWluaW5nQ2xhc3M7XHJcbiAgfVxyXG59XHJcbiJdfQ==