@tripsnek/tmf
Version:
TypeScript Modeling Framework - A TypeScript port of the Eclipse Modeling Framework (EMF)
103 lines • 10.2 kB
JavaScript
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==