UNPKG

@tripsnek/tmf

Version:

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

53 lines 5.7 kB
import { ENamedElementImpl } from './enamed-element-impl.js'; export class ETypedElementImpl extends ENamedElementImpl { static UNBOUNDED_MULTIPLICITY = -1; static UNSPECIFIED_MULTIPLICITY = 0; // private ordered = false; unique = false; eType; lowerBound = ETypedElementImpl.UNSPECIFIED_MULTIPLICITY; upperBound = ETypedElementImpl.UNSPECIFIED_MULTIPLICITY; constructor(name, eType) { super(name); if (eType) this.eType = eType; } getLowerBound() { return this.lowerBound; } setLowerBound(value) { this.lowerBound = value; } getUpperBound() { return this.upperBound; } setUpperBound(value) { this.upperBound = value; } // public isUnique(): boolean { // return this.unique; // } // public setUnique(value: boolean): void { // this.unique = value; // } getEType() { return this.eType; } setEType(value) { this.eType = value; } isMany() { return (this.upperBound > 1 || this.upperBound === ETypedElementImpl.UNBOUNDED_MULTIPLICITY); } // public isOrdered(): boolean { // return this.ordered; // } // public setOrdered(value: boolean): void { // this.ordered = value; // } isRequired() { return this.lowerBound > 0; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXR5cGVkLWVsZW1lbnQtaW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbWV0YW1vZGVsL2ltcGwvZXR5cGVkLWVsZW1lbnQtaW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxNQUFNLE9BQU8saUJBQ1gsU0FBUSxpQkFBaUI7SUFHbEIsTUFBTSxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7SUFFM0MsMkJBQTJCO0lBQ25CLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixLQUFLLENBQWU7SUFDcEIsVUFBVSxHQUFXLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDO0lBQ2hFLFVBQVUsR0FBVyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztJQUV4RSxZQUFtQixJQUFhLEVBQUUsS0FBbUI7UUFDbkQsS0FBSyxDQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2IsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCwrQkFBK0I7SUFDL0Isd0JBQXdCO0lBQ3hCLElBQUk7SUFFSiwyQ0FBMkM7SUFDM0MseUJBQXlCO0lBQ3pCLElBQUk7SUFFRyxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBa0I7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLENBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDO1lBQ25CLElBQUksQ0FBQyxVQUFVLEtBQUssaUJBQWlCLENBQUMsc0JBQXNCLENBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6QixJQUFJO0lBRUosNENBQTRDO0lBQzVDLDBCQUEwQjtJQUMxQixJQUFJO0lBRUcsVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVDbGFzc2lmaWVyIH0gZnJvbSAnLi4vYXBpL2VjbGFzc2lmaWVyLmpzJztcclxuaW1wb3J0IHsgRUNsYXNzIH0gZnJvbSAnLi4vYXBpL2VjbGFzcy5qcyc7XHJcbmltcG9ydCB7IEVUeXBlZEVsZW1lbnQgfSBmcm9tICcuLi9hcGkvZXR5cGVkLWVsZW1lbnQuanMnO1xyXG5pbXBvcnQgeyBFTmFtZWRFbGVtZW50SW1wbCB9IGZyb20gJy4vZW5hbWVkLWVsZW1lbnQtaW1wbC5qcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRVR5cGVkRWxlbWVudEltcGxcclxuICBleHRlbmRzIEVOYW1lZEVsZW1lbnRJbXBsXHJcbiAgaW1wbGVtZW50cyBFVHlwZWRFbGVtZW50XHJcbntcclxuICBwdWJsaWMgc3RhdGljIFVOQk9VTkRFRF9NVUxUSVBMSUNJVFkgPSAtMTtcclxuICBwdWJsaWMgc3RhdGljIFVOU1BFQ0lGSUVEX01VTFRJUExJQ0lUWSA9IDA7XHJcblxyXG4gIC8vIHByaXZhdGUgb3JkZXJlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgdW5pcXVlID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBlVHlwZSE6IEVDbGFzc2lmaWVyO1xyXG4gIHByaXZhdGUgbG93ZXJCb3VuZDogbnVtYmVyID0gRVR5cGVkRWxlbWVudEltcGwuVU5TUEVDSUZJRURfTVVMVElQTElDSVRZO1xyXG4gIHByaXZhdGUgdXBwZXJCb3VuZDogbnVtYmVyID0gRVR5cGVkRWxlbWVudEltcGwuVU5TUEVDSUZJRURfTVVMVElQTElDSVRZO1xyXG5cclxuICBwdWJsaWMgY29uc3RydWN0b3IobmFtZT86IHN0cmluZywgZVR5cGU/OiBFQ2xhc3NpZmllcikge1xyXG4gICAgc3VwZXIoIG5hbWUpO1xyXG4gICAgaWYgKGVUeXBlKSB0aGlzLmVUeXBlID0gZVR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TG93ZXJCb3VuZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMubG93ZXJCb3VuZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMb3dlckJvdW5kKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubG93ZXJCb3VuZCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFVwcGVyQm91bmQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnVwcGVyQm91bmQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VXBwZXJCb3VuZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwcGVyQm91bmQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBpc1VuaXF1ZSgpOiBib29sZWFuIHtcclxuICAvLyAgIHJldHVybiB0aGlzLnVuaXF1ZTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBzZXRVbmlxdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAvLyAgIHRoaXMudW5pcXVlID0gdmFsdWU7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgZ2V0RVR5cGUoKTogRUNsYXNzaWZpZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZVR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RVR5cGUodmFsdWU6IEVDbGFzc2lmaWVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVUeXBlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNYW55KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy51cHBlckJvdW5kID4gMSB8fFxyXG4gICAgICB0aGlzLnVwcGVyQm91bmQgPT09IEVUeXBlZEVsZW1lbnRJbXBsLlVOQk9VTkRFRF9NVUxUSVBMSUNJVFlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgaXNPcmRlcmVkKCk6IGJvb2xlYW4ge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMub3JkZXJlZDtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBzZXRPcmRlcmVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLm9yZGVyZWQgPSB2YWx1ZTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBpc1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubG93ZXJCb3VuZCA+IDA7XHJcbiAgfVxyXG59XHJcbiJdfQ==