UNPKG

@yellicode/elements

Version:

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

1,053 lines 71.2 kB
/** * This code was generated by a tool. * * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. */ import * as elements from './interfaces'; import * as editable from './editable-interfaces'; import { ModelDelegate } from './model-delegate-interface'; export declare abstract class Element implements elements.Element, editable.Deletable { protected modelDelegate: ModelDelegate; constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); abstract readonly elementType: elements.ElementType; isDeleted?: boolean; isOrphaned(): boolean; appliedStereotypes: elements.Stereotype[]; id: string; ownedComments: elements.Comment[]; readonly owner: elements.Element | null; taggedValues: elements.TaggedValueSpecification[]; /** * Gets the text contents of the first comment in the element's owned comments, or an empty string if * the element has no comments. * @returns {string} The body string of the first comment. If the element has no comments, an empty * string is returned. */ getFirstCommentBody(): string; } export declare class TaggedValueSpecification implements elements.TaggedValueSpecification { definition: elements.Property; specification: elements.ValueSpecification; } export declare class StereotypeExtension implements elements.StereotypeExtension { isRequired: boolean; metaClass: elements.ElementType; } export declare class Class extends Element implements elements.Class, editable.ClassEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; generalizations: elements.Generalization[]; interfaceRealizations: elements.InterfaceRealization[]; isAbstract: boolean; isActive: boolean; isDeprecated: boolean; isFinalSpecialization: boolean; isInferred: boolean; isLeaf: boolean; name: string; ownedAttributes: elements.Property[]; ownedOperations: elements.Operation[]; get package(): elements.Package; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Returns both inherited and owned attributes. * @returns {elements.Property[]} */ getAllAttributes(): elements.Property[]; /** * Returns both inherited and owned operations. Any inherited operation that has the same signature * (having the same name and parameter type order) in an inheriting type is not included. * @returns {elements.Operation[]} */ getAllOperations(): elements.Operation[]; /** * Returns all of the direct and indirect ancestors of a generalized Classifier, working outwards: more * specific classifiers will appear before more general classifiers. * @returns {elements.Classifier[]} */ getAllParents(): elements.Classifier[]; /** * Gets all classifiers of which this element is a direct or indirect general. * @returns {elements.Classifier[]} */ getAllSpecializations(): elements.Classifier[]; /** * Gets the first direct generalization relationship of the element. * @returns {elements.Generalization} */ getFirstGeneralization(): elements.Generalization | null; /** * Gets the first classifier that is an immediate general of the current element. * @returns {elements.Classifier} */ getFirstParent(): elements.Classifier | null; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Gives all of the immediate ancestors of a generalized Classifier. * @returns {elements.Classifier[]} */ getParents(): elements.Classifier[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all classifiers of which this classifier is a direct general. * @returns {elements.Classifier[]} */ getSpecializations(): elements.Classifier[]; /** * Gets the super types of this type, derived from its Generalizations. * @returns {this[]} */ getSuperTypes(): this[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addGeneralization(properties: editable.GeneralizationProperties, initFn?: (generalization: editable.GeneralizationEditable) => void): this; deleteGeneralization(generalization: elements.Generalization): this; addInterfaceRealization(properties: editable.InterfaceRealizationProperties, initFn?: (interfaceRealization: editable.InterfaceRealizationEditable) => void): this; deleteInterfaceRealization(interfaceRealization: elements.InterfaceRealization): this; addOwnedAttribute(properties: editable.PropertyProperties, initFn?: (property: editable.PropertyEditable) => void): this; deleteOwnedAttribute(property: elements.Property): this; addOwnedOperation(properties: editable.OperationProperties, initFn?: (operation: editable.OperationEditable) => void): this; deleteOwnedOperation(operation: elements.Operation): this; } export declare class Stereotype extends Element implements elements.Stereotype, editable.StereotypeEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; extends: elements.StereotypeExtension[]; generalizations: elements.Generalization[]; interfaceRealizations: elements.InterfaceRealization[]; isAbstract: boolean; isActive: boolean; isDeprecated: boolean; isFinalSpecialization: boolean; isInferred: boolean; isLeaf: boolean; name: string; ownedAttributes: elements.Property[]; ownedOperations: elements.Operation[]; get package(): elements.Package; safeName: string; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Returns both inherited and owned attributes. * @returns {elements.Property[]} */ getAllAttributes(): elements.Property[]; /** * Returns both inherited and owned operations. Any inherited operation that has the same signature * (having the same name and parameter type order) in an inheriting type is not included. * @returns {elements.Operation[]} */ getAllOperations(): elements.Operation[]; /** * Returns all of the direct and indirect ancestors of a generalized Classifier, working outwards: more * specific classifiers will appear before more general classifiers. * @returns {elements.Classifier[]} */ getAllParents(): elements.Classifier[]; /** * Gets all classifiers of which this element is a direct or indirect general. * @returns {elements.Classifier[]} */ getAllSpecializations(): elements.Classifier[]; /** * Gets the first direct generalization relationship of the element. * @returns {elements.Generalization} */ getFirstGeneralization(): elements.Generalization | null; /** * Gets the first classifier that is an immediate general of the current element. * @returns {elements.Classifier} */ getFirstParent(): elements.Classifier | null; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Gives all of the immediate ancestors of a generalized Classifier. * @returns {elements.Classifier[]} */ getParents(): elements.Classifier[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all classifiers of which this classifier is a direct general. * @returns {elements.Classifier[]} */ getSpecializations(): elements.Classifier[]; /** * Gets the super types of this type, derived from its Generalizations. * @returns {this[]} */ getSuperTypes(): this[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addGeneralization(properties: editable.GeneralizationProperties, initFn?: (generalization: editable.GeneralizationEditable) => void): this; deleteGeneralization(generalization: elements.Generalization): this; addInterfaceRealization(properties: editable.InterfaceRealizationProperties, initFn?: (interfaceRealization: editable.InterfaceRealizationEditable) => void): this; deleteInterfaceRealization(interfaceRealization: elements.InterfaceRealization): this; addOwnedAttribute(properties: editable.PropertyProperties, initFn?: (property: editable.PropertyEditable) => void): this; deleteOwnedAttribute(property: elements.Property): this; addOwnedOperation(properties: editable.OperationProperties, initFn?: (operation: editable.OperationEditable) => void): this; deleteOwnedOperation(operation: elements.Operation): this; } export declare class Property extends Element implements elements.Property, editable.PropertyEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; aggregation: elements.AggregationKind; appliedStereotypes: elements.Stereotype[]; get association(): elements.Association | null; defaultValue: elements.ValueSpecification | null; isDeprecated: boolean; isDerived: boolean; isDerivedUnion: boolean; isID: boolean; isLeaf: boolean; isNavigable: boolean; isOrdered: boolean; isReadOnly: boolean; isStatic: boolean; isUnique: boolean; get lower(): number | null; lowerValue: elements.ValueSpecification | null; name: string; order: number; taggedValues: elements.TaggedValueSpecification[]; type: elements.Type | null; get upper(): elements.UnlimitedNatural | null; upperValue: elements.ValueSpecification | null; visibility: elements.VisibilityKind | null; /** * Gets the value of the DefaultValue property. * @returns {any} The default value (the type depending on the type of value), or null if no default * value can be determined. */ getDefault(): any | null; /** * The query lowerBound() returns the lower bound of the multiplicity as an integer, which is the * integerValue of lowerValue, if this is given, and 1 otherwise. * @returns {number} */ getLowerBound(): number; /** * Gets the name of the typed element's type. * @returns {string} The type name, or an empty string if the element has no type. */ getTypeName(): string; /** * The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an * unlimited natural, which is the unlimitedNaturalValue of upperValue, if given, and 1, otherwise. * @returns {elements.UnlimitedNatural} */ getUpperBound(): elements.UnlimitedNatural; /** * The query isMultivalued() checks whether this multiplicity has an upper bound greater than one. * @returns {boolean} */ isMultivalued(): boolean; /** * The query isOptional checks whether this multiplicity has a lower bound of 0 (0..n). * @returns {boolean} */ isOptional(): boolean; /** * The query isOptionalAndSingleValued checks whether this multiplicity has a lower bound of 0 and an * upper bound of 1 (0..1). * @returns {boolean} */ isOptionalAndSinglevalued(): boolean; /** * The query isRequiredAndSinglevalued checks whether this multiplicity has a lower bound of 1 and an * upper bound of 1 (1..1). * @returns {boolean} */ isRequiredAndSinglevalued(): boolean; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; setLowerValueUnlimited(): this; setLowerValue(value: number): this; setUpperValueUnlimited(): this; setUpperValue(value: number): this; setDefaultValueNull(): this; setDefaultValue(value: boolean): this; setDefaultValue(value: number): this; setDefaultValue(value: string): this; } export declare class Package extends Element implements elements.Package, editable.PackageEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedProfiles: elements.Profile[]; appliedStereotypes: elements.Stereotype[]; isDeprecated: boolean; isNamespaceRoot: boolean; name: string; get package(): elements.Package; packagedElements: elements.PackageableElement[]; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Gets all classes that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Class[]} */ getAllClasses(): elements.Class[]; /** * Gets all data types that are owned by this Package, including the ones owned by nested packages. * @returns {elements.DataType[]} */ getAllDataTypes(): elements.DataType[]; /** * Gets all enumerations that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Enumeration[]} */ getAllEnumerations(): elements.Enumeration[]; /** * Gets all interfaces that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Interface[]} */ getAllInterfaces(): elements.Interface[]; /** * Gets all types that are owned by this Package, including the ones owned by nested packages. This * includes the following types of elements: Class, Interface, DataType, PrimitiveType and Enumeration. * @returns {elements.Classifier[]} A subset of PackagedElements. */ getAllTypes(): elements.Classifier[]; /** * Gets all classes that are owned by this Package. * @returns {elements.Class[]} A subset of PackagedElements. */ getClasses(): elements.Class[]; /** * Gets all data types that are owned by this Package. * @returns {elements.DataType[]} A subset of PackagedElements. */ getDataTypes(): elements.DataType[]; /** * Gets all enumerations that are owned by this Package. * @returns {elements.Enumeration[]} A subset of PackagedElements. */ getEnumerations(): elements.Enumeration[]; /** * Gets all interfaces that are owned by this Package. * @returns {elements.Interface[]} A subset of PackagedElements. */ getInterfaces(): elements.Interface[]; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that are owned by this Package. * @returns {elements.Package[]} A subset of PackagedElements. */ getNestedPackages(): elements.Package[]; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all types that are owned by this Package. This includes the following types of elements: Class, * Interface, DataType, PrimitiveType and Enumeration. * @returns {elements.Classifier[]} A subset of PackagedElements. */ getTypes(): elements.Classifier[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addAppliedProfile(profile: elements.Profile): this; removeAppliedProfile(profile: elements.Profile): this; addPackage(properties: editable.PackageProperties, initFn?: (pack: editable.PackageEditable) => void): this; addProfile(properties: editable.ProfileProperties, initFn?: (profile: editable.ProfileEditable) => void): this; addAssociation(properties: editable.AssociationProperties, initFn?: (association: editable.AssociationEditable) => void): this; addClass(properties: editable.ClassProperties, initFn?: (cls: editable.ClassEditable) => void): this; addStereotype(properties: editable.StereotypeProperties, initFn?: (stereotype: editable.StereotypeEditable) => void): this; addDataType(properties: editable.DataTypeProperties, initFn?: (dataType: editable.DataTypeEditable) => void): this; addEnumeration(properties: editable.EnumerationProperties, initFn?: (enumeration: editable.EnumerationEditable) => void): this; addPrimitiveType(properties: editable.PrimitiveTypeProperties, initFn?: (primitiveType: editable.PrimitiveTypeEditable) => void): this; addInterface(properties: editable.InterfaceProperties, initFn?: (iface: editable.InterfaceEditable) => void): this; deletePackagedElement(packageableElement: elements.PackageableElement): this; } export declare class Profile extends Element implements elements.Profile, editable.ProfileEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedProfiles: elements.Profile[]; appliedStereotypes: elements.Stereotype[]; isDeprecated: boolean; isNamespaceRoot: boolean; name: string; get package(): elements.Package; packagedElements: elements.PackageableElement[]; safeName: string; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Gets all classes that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Class[]} */ getAllClasses(): elements.Class[]; /** * Gets all data types that are owned by this Package, including the ones owned by nested packages. * @returns {elements.DataType[]} */ getAllDataTypes(): elements.DataType[]; /** * Gets all enumerations that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Enumeration[]} */ getAllEnumerations(): elements.Enumeration[]; /** * Gets all interfaces that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Interface[]} */ getAllInterfaces(): elements.Interface[]; /** * Gets all types that are owned by this Package, including the ones owned by nested packages. This * includes the following types of elements: Class, Interface, DataType, PrimitiveType and Enumeration. * @returns {elements.Classifier[]} A subset of PackagedElements. */ getAllTypes(): elements.Classifier[]; /** * Gets all classes that are owned by this Package. * @returns {elements.Class[]} A subset of PackagedElements. */ getClasses(): elements.Class[]; /** * Gets all data types that are owned by this Package. * @returns {elements.DataType[]} A subset of PackagedElements. */ getDataTypes(): elements.DataType[]; /** * Gets all enumerations that are owned by this Package. * @returns {elements.Enumeration[]} A subset of PackagedElements. */ getEnumerations(): elements.Enumeration[]; /** * Gets all interfaces that are owned by this Package. * @returns {elements.Interface[]} A subset of PackagedElements. */ getInterfaces(): elements.Interface[]; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that are owned by this Package. * @returns {elements.Package[]} A subset of PackagedElements. */ getNestedPackages(): elements.Package[]; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all types that are owned by this Package. This includes the following types of elements: Class, * Interface, DataType, PrimitiveType and Enumeration. * @returns {elements.Classifier[]} A subset of PackagedElements. */ getTypes(): elements.Classifier[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addAppliedProfile(profile: elements.Profile): this; removeAppliedProfile(profile: elements.Profile): this; addPackage(properties: editable.PackageProperties, initFn?: (pack: editable.PackageEditable) => void): this; addProfile(properties: editable.ProfileProperties, initFn?: (profile: editable.ProfileEditable) => void): this; addAssociation(properties: editable.AssociationProperties, initFn?: (association: editable.AssociationEditable) => void): this; addClass(properties: editable.ClassProperties, initFn?: (cls: editable.ClassEditable) => void): this; addStereotype(properties: editable.StereotypeProperties, initFn?: (stereotype: editable.StereotypeEditable) => void): this; addDataType(properties: editable.DataTypeProperties, initFn?: (dataType: editable.DataTypeEditable) => void): this; addEnumeration(properties: editable.EnumerationProperties, initFn?: (enumeration: editable.EnumerationEditable) => void): this; addPrimitiveType(properties: editable.PrimitiveTypeProperties, initFn?: (primitiveType: editable.PrimitiveTypeEditable) => void): this; addInterface(properties: editable.InterfaceProperties, initFn?: (iface: editable.InterfaceEditable) => void): this; deletePackagedElement(packageableElement: elements.PackageableElement): this; } export declare class DataType extends Element implements elements.DataType, editable.DataTypeEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; generalizations: elements.Generalization[]; isAbstract: boolean; isDeprecated: boolean; isFinalSpecialization: boolean; isInferred: boolean; isLeaf: boolean; name: string; ownedAttributes: elements.Property[]; ownedOperations: elements.Operation[]; get package(): elements.Package; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Returns both inherited and owned attributes. * @returns {elements.Property[]} */ getAllAttributes(): elements.Property[]; /** * Returns both inherited and owned operations. Any inherited operation that has the same signature * (having the same name and parameter type order) in an inheriting type is not included. * @returns {elements.Operation[]} */ getAllOperations(): elements.Operation[]; /** * Returns all of the direct and indirect ancestors of a generalized Classifier, working outwards: more * specific classifiers will appear before more general classifiers. * @returns {elements.Classifier[]} */ getAllParents(): elements.Classifier[]; /** * Gets all classifiers of which this element is a direct or indirect general. * @returns {elements.Classifier[]} */ getAllSpecializations(): elements.Classifier[]; /** * Gets the first direct generalization relationship of the element. * @returns {elements.Generalization} */ getFirstGeneralization(): elements.Generalization | null; /** * Gets the first classifier that is an immediate general of the current element. * @returns {elements.Classifier} */ getFirstParent(): elements.Classifier | null; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Gives all of the immediate ancestors of a generalized Classifier. * @returns {elements.Classifier[]} */ getParents(): elements.Classifier[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all classifiers of which this classifier is a direct general. * @returns {elements.Classifier[]} */ getSpecializations(): elements.Classifier[]; /** * Gets the super types of this type, derived from its Generalizations. * @returns {this[]} */ getSuperTypes(): this[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addGeneralization(properties: editable.GeneralizationProperties, initFn?: (generalization: editable.GeneralizationEditable) => void): this; deleteGeneralization(generalization: elements.Generalization): this; addOwnedAttribute(properties: editable.PropertyProperties, initFn?: (property: editable.PropertyEditable) => void): this; deleteOwnedAttribute(property: elements.Property): this; addOwnedOperation(properties: editable.OperationProperties, initFn?: (operation: editable.OperationEditable) => void): this; deleteOwnedOperation(operation: elements.Operation): this; } export declare class PrimitiveType extends Element implements elements.PrimitiveType, editable.PrimitiveTypeEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; generalizations: elements.Generalization[]; isAbstract: boolean; isDeprecated: boolean; isFinalSpecialization: boolean; isInferred: boolean; isLeaf: boolean; name: string; ownedAttributes: elements.Property[]; ownedOperations: elements.Operation[]; get package(): elements.Package; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Returns both inherited and owned attributes. * @returns {elements.Property[]} */ getAllAttributes(): elements.Property[]; /** * Returns both inherited and owned operations. Any inherited operation that has the same signature * (having the same name and parameter type order) in an inheriting type is not included. * @returns {elements.Operation[]} */ getAllOperations(): elements.Operation[]; /** * Returns all of the direct and indirect ancestors of a generalized Classifier, working outwards: more * specific classifiers will appear before more general classifiers. * @returns {elements.Classifier[]} */ getAllParents(): elements.Classifier[]; /** * Gets all classifiers of which this element is a direct or indirect general. * @returns {elements.Classifier[]} */ getAllSpecializations(): elements.Classifier[]; /** * Gets the first direct generalization relationship of the element. * @returns {elements.Generalization} */ getFirstGeneralization(): elements.Generalization | null; /** * Gets the first classifier that is an immediate general of the current element. * @returns {elements.Classifier} */ getFirstParent(): elements.Classifier | null; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Gives all of the immediate ancestors of a generalized Classifier. * @returns {elements.Classifier[]} */ getParents(): elements.Classifier[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all classifiers of which this classifier is a direct general. * @returns {elements.Classifier[]} */ getSpecializations(): elements.Classifier[]; /** * Gets the super types of this type, derived from its Generalizations. * @returns {this[]} */ getSuperTypes(): this[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addGeneralization(properties: editable.GeneralizationProperties, initFn?: (generalization: editable.GeneralizationEditable) => void): this; deleteGeneralization(generalization: elements.Generalization): this; addOwnedAttribute(properties: editable.PropertyProperties, initFn?: (property: editable.PropertyEditable) => void): this; deleteOwnedAttribute(property: elements.Property): this; addOwnedOperation(properties: editable.OperationProperties, initFn?: (operation: editable.OperationEditable) => void): this; deleteOwnedOperation(operation: elements.Operation): this; } export declare class Parameter extends Element implements elements.Parameter, editable.ParameterEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; defaultValue: elements.ValueSpecification | null; direction: elements.ParameterDirectionKind; isDeprecated: boolean; isException: boolean; isOrdered: boolean; isStream: boolean; isUnique: boolean; get lower(): number | null; lowerValue: elements.ValueSpecification | null; name: string; order: number; taggedValues: elements.TaggedValueSpecification[]; type: elements.Type | null; get upper(): elements.UnlimitedNatural | null; upperValue: elements.ValueSpecification | null; visibility: elements.VisibilityKind | null; /** * Gets the value of the DefaultValue property. * @returns {any} The default value (the type depending on the type of value), or null if no default * value can be determined. */ getDefault(): any | null; /** * The query lowerBound() returns the lower bound of the multiplicity as an integer, which is the * integerValue of lowerValue, if this is given, and 1 otherwise. * @returns {number} */ getLowerBound(): number; /** * Gets the name of the typed element's type. * @returns {string} The type name, or an empty string if the element has no type. */ getTypeName(): string; /** * The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an * unlimited natural, which is the unlimitedNaturalValue of upperValue, if given, and 1, otherwise. * @returns {elements.UnlimitedNatural} */ getUpperBound(): elements.UnlimitedNatural; /** * The query isMultivalued() checks whether this multiplicity has an upper bound greater than one. * @returns {boolean} */ isMultivalued(): boolean; /** * The query isOptional checks whether this multiplicity has a lower bound of 0 (0..n). * @returns {boolean} */ isOptional(): boolean; /** * The query isOptionalAndSingleValued checks whether this multiplicity has a lower bound of 0 and an * upper bound of 1 (0..1). * @returns {boolean} */ isOptionalAndSinglevalued(): boolean; /** * The query isRequiredAndSinglevalued checks whether this multiplicity has a lower bound of 1 and an * upper bound of 1 (1..1). * @returns {boolean} */ isRequiredAndSinglevalued(): boolean; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; setLowerValueUnlimited(): this; setLowerValue(value: number): this; setUpperValueUnlimited(): this; setUpperValue(value: number): this; setDefaultValueNull(): this; setDefaultValue(value: boolean): this; setDefaultValue(value: number): this; setDefaultValue(value: string): this; } export declare class Operation extends Element implements elements.Operation, editable.OperationEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; isAbstract: boolean; isConstructor: boolean; isDeprecated: boolean; isLeaf: boolean; isQuery: boolean; isStatic: boolean; get lower(): number | null; name: string; order: number; ownedParameters: elements.Parameter[]; taggedValues: elements.TaggedValueSpecification[]; get upper(): elements.UnlimitedNatural | null; visibility: elements.VisibilityKind | null; /** * Returns the ownedParameters with direction in and inout. * @returns {elements.Parameter[]} */ getInputParameters(): elements.Parameter[]; /** * The query lowerBound() returns the lower bound of the return parameter as an integer, which is the * integerValue of lowerValue, if this is given, and 1 otherwise. This information is derived from the * return result for this Operation. * @returns {number} */ getLowerBound(): number; /** * Returns the ownedParameters with direction out, inout, or return. * @returns {elements.Parameter[]} */ getOutputParameters(): elements.Parameter[]; /** * Gets the operation's return parameter, if it has one. * @returns {elements.Parameter} */ getReturnParameter(): elements.Parameter | null; /** * Gets the type of the operation's return parameter, if it has any. * @returns {elements.Type} */ getReturnType(): elements.Type | null; /** * The query upperBound() returns the upper bound of the return parameter for a bounded multiplicity as * an unlimited natural, which is the unlimitedNaturalValue of upperValue, if given, and 1, otherwise. * This information is derived from the return result for this Operation. * @returns {elements.UnlimitedNatural} */ getUpperBound(): elements.UnlimitedNatural; /** * The query isMultivalued() checks whether the return parameter has an upper bound greater than one. * @returns {boolean} */ isMultivalued(): boolean; /** * The query isOptional checks whether he return parameter has a lower bound of 0 (0..n). * @returns {boolean} */ isOptional(): boolean; /** * The query isOptional checks whether he return parameter has a lower bound of 0 and an upper bound of * 1 (0..1). * @returns {boolean} */ isOptionalAndSinglevalued(): boolean; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addOwnedParameter(properties: editable.ParameterProperties, initFn?: (parameter: editable.ParameterEditable) => void): this; deleteOwnedParameter(parameter: elements.Parameter): this; } export declare class Model extends Element implements elements.Model, editable.ModelEditable { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedProfiles: elements.Profile[]; appliedStereotypes: elements.Stereotype[]; isDeprecated: boolean; isNamespaceRoot: boolean; name: string; get package(): elements.Package; packagedElements: elements.PackageableElement[]; taggedValues: elements.TaggedValueSpecification[]; visibility: elements.VisibilityKind | null; /** * Gets all classes that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Class[]} */ getAllClasses(): elements.Class[]; /** * Gets all data types that are owned by this Package, including the ones owned by nested packages. * @returns {elements.DataType[]} */ getAllDataTypes(): elements.DataType[]; /** * Gets all enumerations that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Enumeration[]} */ getAllEnumerations(): elements.Enumeration[]; /** * Gets all interfaces that are owned by this Package, including the ones owned by nested packages. * @returns {elements.Interface[]} */ getAllInterfaces(): elements.Interface[]; /** * Gets all types that are owned by this Package, including the ones owned by nested packages. This * includes the following types of elements: Class, Interface, DataType, PrimitiveType and Enumeration. * @returns {elements.Classifier[]} A subset of PackagedElements. */ getAllTypes(): elements.Classifier[]; /** * Gets all classes that are owned by this Package. * @returns {elements.Class[]} A subset of PackagedElements. */ getClasses(): elements.Class[]; /** * Gets all data types that are owned by this Package. * @returns {elements.DataType[]} A subset of PackagedElements. */ getDataTypes(): elements.DataType[]; /** * Gets all enumerations that are owned by this Package. * @returns {elements.Enumeration[]} A subset of PackagedElements. */ getEnumerations(): elements.Enumeration[]; /** * Gets all interfaces that are owned by this Package. * @returns {elements.Interface[]} A subset of PackagedElements. */ getInterfaces(): elements.Interface[]; /** * Constructs a name from the names of the nesting packages. The name is constructed working inwards * from the package that is defined as namespace root up to but not including the PackageableElement * itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getNamespaceName(separator?: string): string; /** * Gets all packages that are owned by this Package. * @returns {elements.Package[]} A subset of PackagedElements. */ getNestedPackages(): elements.Package[]; /** * Gets all packages that contain this Package, working inwards from the top Package to the owning * package. * @returns {elements.Package[]} A collection of Packages. */ getNestingPackages(): elements.Package[]; /** * Constructs a name from the PackageableElement and the names of the nesting packages. The name is * constructed working inwards from the package that is defined as namespace root up to and including * the PackageableElement itself. * @param {string} separator The string to use to separate names. If not specified, a dot "." will be * used. * @returns {string} A single string with all the names separated. */ getQualifiedName(separator?: string): string; /** * Gets all types that are owned by this Package. This includes the following types of elements: Class, * Interface, DataType, PrimitiveType and Enumeration. * @returns {elements.Classifier[]} A subset of PackagedElements. */ getTypes(): elements.Classifier[]; addAppliedStereotype(stereotype: elements.Stereotype): this; removeAppliedStereotype(stereotype: elements.Stereotype): this; addOwnedComment(properties: editable.CommentProperties): this; deleteOwnedComment(comment: elements.Comment): this; addAppliedProfile(profile: elements.Profile): this; removeAppliedProfile(profile: elements.Profile): this; addPackage(properties: editable.PackageProperties, initFn?: (pack: editable.PackageEditable) => void): this; addProfile(properties: editable.ProfileProperties, initFn?: (profile: editable.ProfileEditable) => void): this; addAssociation(properties: editable.AssociationProperties, initFn?: (association: editable.AssociationEditable) => void): this; addClass(properties: editable.ClassProperties, initFn?: (cls: editable.ClassEditable) => void): this; addStereotype(properties: editable.StereotypeProperties, initFn?: (stereotype: editable.StereotypeEditable) => void): this; addDataType(properties: editable.DataTypeProperties, initFn?: (dataType: editable.DataTypeEditable) => void): this; addEnumeration(properties: editable.EnumerationProperties, initFn?: (enumeration: editable.EnumerationEditable) => void): this; addPrimitiveType(properties: editable.PrimitiveTypeProperties, initFn?: (primitiveType: editable.PrimitiveTypeEditable) => void): this; addInterface(properties: editable.InterfaceProperties, initFn?: (iface: editable.InterfaceEditable) => void): this; deletePackagedElement(packageableElement: elements.PackageableElement): this; } export declare class LiteralUnlimitedNatural extends Element implements elements.LiteralUnlimitedNatural { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; isDeprecated: boolean; name: string; taggedValues: elements.TaggedValueSpecification[]; type: elements.Type | null; value: elements.UnlimitedNatural; visibility: elements.VisibilityKind | null; /** * Gets the string representation of the value. * @returns {string} */ getStringValue(): string; /** * Gets the name of the typed element's type. * @returns {string} The type name, or an empty string if the element has no type. */ getTypeName(): string; /** * Gets underlying value of the ValueSpecification. The type depends on the type of ValueSpecification. * @returns {any} The underlying value of the ValueSpecification. The type depends on the type of * ValueSpecification. */ getValue(): any | null; } export declare class LiteralString extends Element implements elements.LiteralString { constructor(modelDelegate: ModelDelegate, owner: elements.Element | null); readonly elementType: elements.ElementType; appliedStereotypes: elements.Stereotype[]; isDeprecated: boolean; name: string; taggedValues: elements.TaggedValueSpecification[]; type: elements.Type | null; value: string; visibility: elements.VisibilityKind | null; /** * Gets the string representation of the value. * @returns {string} */ getStringValue(): string; /** * Gets the name of the typed element's type. * @returns {string} The type name, or an empty string if the element has no type. */ getTypeName(): string; /** * Gets underlying value of the ValueSpecification. The type depends on the type o