@yellicode/elements
Version:
The meta model API for Yellicode - an extensible code generator.
26 lines (25 loc) • 1.42 kB
TypeScript
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;
}