Skip to main content

IMetamodels Interface

Namespace: NextDesign.Core

Description

Metamodel management object.

Belonging Area

NameDescription
ProfileA set of APIs to access the profile.

Property

NameDescription
AllClassesList of classes
AllEnumsList of enumerations
AllPackagesList of packages

Method

NameDescription
AddLiteralAdds a new enumeration literal with the specified literal string to the specified enumeration.
AddPathConstraint(string,IClass,IField,string)Adds a path constraint to the specified field of the specified class.
Note that the existence of a path that matches the path string set here is not checked. This method will terminate normally even if an incorrect path is specified.
AddPathConstraint(string,IPackage,string,string,string)Adds a path constraint to the specified field of the specified class.
The specified class is searched under the package specified in the scope.

Note that the existence of a path that matches the path string set here is not checked. Even if an incorrect path is specified, this method will end normally.
AddPathConstraint(string,string,string,string)Adds a path constraint to the specified field of the specified class.
Note that the existence of a path that matches the path string set here is not checked. Even if an incorrect path is specified, this method will end normally.
AddPropertyAdds a new property to the specified class.
AddSuperClasses(IClass,IEnumerable<IClass>)Sets the superclass of the specified class.
AddSuperClasses(IClass,IPackage,string,bool)Sets the superclass of the specified class.
The superclass to be set is searched under the package specified in the scope.

For information on how to specify the class name and the fuzzy matching option, see the IMetamodels explanation.
AddSuperClasses(IClass,string,bool)Sets the superclass of the specified class.

For information on how to specify the class name and the fuzzy matching option, see the IMetamodels explanation.
FindClassesByName(IEnumerable<string>,bool)Searches for a class with the specified class name.

For information on how to specify a class name and fuzzy matching options, see the IMetamodels description.
FindClassesByName(IPackage,IEnumerable<string>,bool)Searches for a class with the specified class name under the package specified in the scope.

For information on how to specify a class name and fuzzy matching options, see the IMetamodels description.
FindClassesByName(IPackage,string,bool)Searches for a class with the specified class name under the package specified in the scope.

See the IMetamodels documentation for how to specify class names and fuzzy matching options.
FindClassesByName(string,bool)Finds classes with the specified class name.

See the IMetamodels documentation for how to specify class names and fuzzy matching options.
FindClassesByTagFinds classes with the specified tag.
FindClassesWithFieldFinds classes with the specified field.
FindEnumsByTagFinds enums with the specified tag.
FindPackagesByName(IPackage,string)Searches for a package with the specified name under the package specified in the scope.
FindPackagesByName(string)Searches for a package with the specified name.
FindPackagesByTagSearches for a package with the specified tag.
GetClass(IPackage,string,bool)Gets a class with the specified name under the package specified in the scope.
If multiple classes with the same name are defined, the first class found in the order of definition is returned.

For information on how to specify class names and the fuzzy match option, see the explanation in IMetamodels.
GetClass(string,bool)Gets the class with the specified name.
If multiple classes with the same name are defined, the first class found in the order of definition is returned.

For information on how to specify the class name and the fuzzy match option, see the description in IMetamodels.
GetEnum(IPackage,string,bool)Gets the enumeration with the specified name from the package specified in the scope.
If multiple enumerations with the same name are defined, the first enumeration found in the order of definition is returned.

For information on how to specify the enumeration name and the fuzzy match option, see the description in IMetamodels.
GetEnum(string,bool)Gets the enumeration with the specified name.
If multiple enumerations with the same name are defined, the first one found in definition order is returned.

See IMetamodels for information on how to specify enumeration names and the fuzzy match option.
GetPackageGets the package with the specified fully qualified name.
Returns null if the package is not found.
GetPackageByIdGets the package with the specified identifier.
Returns null if the package is not found.
GetSubClassesGets the subclasses of the specified class.
GetTypeById<T>Gets the type with the specified identifier.
Returns null if the type is not found.
GetTypeByName<T>(IPackage,string,bool)Gets a type with the specified name from the package specified in the scope.
If multiple types with the same name are defined, the first type found in the definition order is returned.
If the type is not found, null is returned.

For information on how to specify the type name and the fuzzy match option, see the IMetamodels description.
GetTypeByName<T>(string,bool)Gets a type with the specified name.
If multiple types with the same name are defined, the first type found in the definition order is returned.
If the type is not found, null is returned.

For information on how to specify the type name and the fuzzy match option, see the IMetamodels description.
MoveToPackage(IEnumerable<IClass>,IPackage)Moves the specified class under the specified package management.
MoveToPackage(IPackage,string,IPackage,bool)Moves the specified class under the specified package management.

For how to specify the class name and the fuzzy matching option, see the IMetamodels description.
MoveToPackage(string,IPackage,bool)Moves the specified class under the specified package management.

For how to specify the class name and the fuzzy matching option, see the IMetamodels description.
NewClassGenerates a new class.
NewEnum(string,IEnumerable<string>,IPackage)Create a new enumeration type.
NewEnum(string,string,IPackage)Create a new enumeration type.
NewPackageCreate a new package.
RelateCreate an association between the specified classes.
RemoveClassRemove the specified class.
RemoveConstraintRemove the specified constraint.
RemoveConstraintsRemove all the specified constraints.
RemoveEnumRemove the specified enumeration.
RemoveLiteralRemove the enumeration literal.
RemovePathConstraint(IClass,IField)Remove the path constraint for the specified field of the specified class.
RemovePathConstraint(IPackage,string,string)Remove the path constraint for the specified field of the specified class.
RemovePathConstraint(string,string)Remove the path constraint for the specified field of the specified class.
RemovePropertyRemove a property of the specified class.
RemoveSuperClasses(IClass,IEnumerable<IClass>)Remove superclasses of the specified class.
Among the enumeration of the specified superclasses, classes that are not included in the superclasses of the specified class will be skipped.
When you delete the inheritance relationship of a class, the model of the inherited class will also be deleted.
RemoveSuperClasses(IClass,IPackage,string,bool)Remove superclasses of the specified class.
The superclasses to be deleted are searched under the package specified in the scope.
Among the enumeration of the specified superclass names, classes that are not included in the superclasses of the specified class will be skipped.
When you delete the inheritance relationship of a class, the model of the inherited class will also be deleted.

For details on how to specify class names and fuzzy matching options, see the IMetamodels description.
RemoveSuperClasses(IClass,string,bool)Removes the superclasses of the specified class.
Classes that are not included in the superclasses of the specified class are skipped.
When you remove the inheritance relationship of a class, the model of the inherited class is also deleted.

For details on how to specify class names and fuzzy matching options, see the IMetamodels description.
UnRelateRemoves the association between the specified classes.