@tripsnek/tmf
Version:
TypeScript Modeling Framework - A TypeScript port of the Eclipse Modeling Framework (EMF)
35 lines • 4.26 kB
JavaScript
import { EStructuralFeatureImpl } from './estructural-feature-impl.js';
export class EReferenceImpl extends EStructuralFeatureImpl {
// private eRefType!: EClass;
eOpposite;
containment = false;
constructor(name, eContainingClass, eReferenceType) {
super(name, eReferenceType);
// if (eReferenceType) this.eRefType = eReferenceType;
if (eContainingClass)
this.setEContainingClass(eContainingClass);
}
// public getEReferenceType(): EClass {
// return this.eRefType;
// }
isContainer() {
return this.getEOpposite() !== undefined && this.getEOpposite().isContainment();
}
isContainment() {
return this.containment;
}
setContainment(containment) {
this.containment = containment;
}
// public isResolveProxies(): boolean {
// return false;
// }
// public setResolveProxies(value: boolean): void {}
getEOpposite() {
return this.eOpposite;
}
setEOpposite(value) {
this.eOpposite = value;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJlZmVyZW5jZS1pbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXRhbW9kZWwvaW1wbC9lcmVmZXJlbmNlLWltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkUsTUFBTSxPQUFPLGNBQ1gsU0FBUSxzQkFBc0I7SUFHOUIsNkJBQTZCO0lBQ3JCLFNBQVMsQ0FBYztJQUN2QixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQ3JDLFlBQ0UsSUFBYSxFQUNiLGdCQUF5QixFQUN6QixjQUF1QjtRQUV2QixLQUFLLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLHNEQUFzRDtRQUN0RCxJQUFJLGdCQUFnQjtZQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsMEJBQTBCO0lBQzFCLElBQUk7SUFFRyxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkYsQ0FBQztJQUVlLGFBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTSxjQUFjLENBQUMsV0FBb0I7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxrQkFBa0I7SUFDbEIsSUFBSTtJQUVKLG9EQUFvRDtJQUU3QyxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWlCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVDbGFzcyB9IGZyb20gJy4uL2FwaS9lY2xhc3MuanMnO1xyXG5pbXBvcnQgeyBFUmVmZXJlbmNlIH0gZnJvbSAnLi4vYXBpL2VyZWZlcmVuY2UuanMnO1xyXG5pbXBvcnQgeyBFU3RydWN0dXJhbEZlYXR1cmVJbXBsIH0gZnJvbSAnLi9lc3RydWN0dXJhbC1mZWF0dXJlLWltcGwuanMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVSZWZlcmVuY2VJbXBsXHJcbiAgZXh0ZW5kcyBFU3RydWN0dXJhbEZlYXR1cmVJbXBsXHJcbiAgaW1wbGVtZW50cyBFUmVmZXJlbmNlXHJcbntcclxuICAvLyBwcml2YXRlIGVSZWZUeXBlITogRUNsYXNzO1xyXG4gIHByaXZhdGUgZU9wcG9zaXRlITogRVJlZmVyZW5jZTtcclxuICBwcml2YXRlIGNvbnRhaW5tZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxyXG4gICAgbmFtZT86IHN0cmluZyxcclxuICAgIGVDb250YWluaW5nQ2xhc3M/OiBFQ2xhc3MsXHJcbiAgICBlUmVmZXJlbmNlVHlwZT86IEVDbGFzc1xyXG4gICkge1xyXG4gICAgc3VwZXIobmFtZSwgZVJlZmVyZW5jZVR5cGUpO1xyXG4gICAgLy8gaWYgKGVSZWZlcmVuY2VUeXBlKSB0aGlzLmVSZWZUeXBlID0gZVJlZmVyZW5jZVR5cGU7XHJcbiAgICBpZiAoZUNvbnRhaW5pbmdDbGFzcykgdGhpcy5zZXRFQ29udGFpbmluZ0NsYXNzKGVDb250YWluaW5nQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGdldEVSZWZlcmVuY2VUeXBlKCk6IEVDbGFzcyB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5lUmVmVHlwZTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBpc0NvbnRhaW5lcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldEVPcHBvc2l0ZSgpICE9PSB1bmRlZmluZWQgJiYgdGhpcy5nZXRFT3Bwb3NpdGUoKSEuaXNDb250YWlubWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGlzQ29udGFpbm1lbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWlubWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDb250YWlubWVudChjb250YWlubWVudDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5jb250YWlubWVudCA9IGNvbnRhaW5tZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGlzUmVzb2x2ZVByb3hpZXMoKTogYm9vbGVhbiB7XHJcbiAgLy8gICByZXR1cm4gZmFsc2U7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgc2V0UmVzb2x2ZVByb3hpZXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHt9XHJcblxyXG4gIHB1YmxpYyBnZXRFT3Bwb3NpdGUoKTogRVJlZmVyZW5jZSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5lT3Bwb3NpdGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RU9wcG9zaXRlKHZhbHVlOiBFUmVmZXJlbmNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmVPcHBvc2l0ZSA9IHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=