@yellicode/elements
Version:
The meta model API for Yellicode - an extensible code generator.
1,053 lines • 71.2 kB
TypeScript
/**
* 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