UNPKG

@yellicode/elements

Version:

The meta model API for Yellicode - an extensible code generator.

26 lines (25 loc) 1.42 kB
import * as Interfaces from "./interfaces"; import * as Data from "./data-interfaces"; import { ElementMap } from './element-map-interface'; import { TypeResolver } from './type-resolver'; export declare class ElementMapImpl implements ElementMap { private elementsById; private specializationsById; private associationsByEndId; private externalTypeResolver; constructor(customTypeResolver?: TypeResolver); addElement(element: Interfaces.Element, elementData: Data.ElementData | null): void; private addAssociationEnds; addAssociationByEndId(endId: string, association: Interfaces.Association): void; removeAssociationByEndId(endId: string): void; private addSpecializations; addSpecialization(generalId: string, specialization: Interfaces.Classifier): void; removeSpecialization(generalId: string, specialization: Interfaces.Classifier): void; getAssociationHavingMemberEnd(end: Interfaces.Property): Interfaces.Association | null; hasElement(id: string): boolean; getElementById<TElement extends Interfaces.Element>(id: string | null): TElement | null; getElementsByIdList<TElement extends Interfaces.Element>(idList: string[]): TElement[]; getSpecializationsOf(generalId: string): Interfaces.Classifier[]; getAllSpecializationsOf(generalId: string): Interfaces.Classifier[]; private getAllSpecializationsRecursive; }