Skip to main content

IModel Interface

Namespace: NextDesign.Core

Description

Provides access to NextDesign design model information.

Belonging Area

NameDescription
ModelA group of APIs to access models.

Inherit Base

NameDescription
IObjectRepresents an identifiable object.

Derived From

NameDescription
IFrameAn object to access frame information.
IInteractionElementAccess object for interaction model element information.
Defines common characteristics for elements that express interactions.
IFeatureAccess object for product feature information.
IProductLineModelAccess object for product line development support model.
IConfigurationModelAccess object for product configuration model.
IProjectProvides access to project information.
IInteractionAccess object for interaction model information.
IFeatureModelAccess object for management model that structures product features.
IRelationshipAccess object for related information.
IProductAccess object for product information.

Property

NameDescription
ClassNameClass name
Gets the name of the Metaclass.
DescriptionDescription
ErrorsGets a collection of error information for this model.

Error information includes summary information.
HasErrorChecks if this model has errors.
Returns True if this model has errors.

This evaluation includes summary information.
HasErrorWithChildrenChecks if this model has errors or elements under its children.
Returns True if this model has errors or elements under its children.

This evaluation includes summary information.
IsDeletedChecks if this instance has been deleted.
IsDeletingChecks if this model is being deleted.
IsDirtyChecks if this model is dirty (unsaved).
Returns True if unsaved.
IsEditableChecks if this instance is editable.
IsProductLineElementChecks if this model is a product line model.
IsProxyChecks if this instance is a proxy element.
Proxy elements are generated in distributed environments when the unit that recorded this instance information has not been loaded.
IsUnitTopModelChecks if this instance is a base model for a unit.
MetaclassClass
ModelPathModel hierarchy path of this instance
Returns a path string formed by joining the model hierarchy with the path separator ("/") starting from a model that is the base point of the model root, product line, or unit and whose parent element is not loaded.

If the root node to which this instance belongs is a model whose parent element is not loaded, "\partial;" is added to the beginning of the path string joined with the path separator.
ModelUnitUnit (physical file) information that manages this instance information
NameName
OwnerModel that directly owns this instance
Returns null if this instance is related or if there is no owning model.
OwnerProjectProject that holds this instance

Method

NameDescription
AddErrorAdds error information for this model and returns the added error information.
AddNewModelAdds an instance of the specified class to the specified field of this instance as a field value.
The instance is added as the last element of the corresponding field.
Even if the specified class is an abstract class, instantiation is allowed and it is added as the last element of the corresponding field.
The specified field must be an owned field of the class type.
No exception is thrown even if the upper multiplicity constraint of a field with multiplicity of 2 or more is violated.

In addition, the specified class name must be a type compatible with the data type of the field.
When using fuzzy matching, if there are multiple matching classes, an instance of the first class found that is type compatible is added.
AddNewModelAtAdds an instance of the specified class to the specified field of this instance as a field value by specifying the addition position.
Even if the specified class is an abstract class, instantiation is allowed and it is added as a field value at the specified position.
The specified field must be an owned field of the class type.
Note that an exception is not thrown even if the upper multiplicity constraint of a field with multiplicity of 2 or more is violated.

The specified class name must be a type compatible with the data type of the field.
When using fuzzy matching, if there are multiple matching classes, an instance of the first class found that is type compatible is added.
AddNewModelToAdds an instance of the specified class to the specified field of this instance as a field value by specifying the addition position.
Even if the specified class is abstract, it is allowed to be instantiated and is added as a field value at the specified position.
The specified field must be an owned field of the class type.
Note that an exception is not thrown even if the upper multiplicity constraint of a field with a multiplicity of 2 or more is violated.

The specified class name must be of a type compatible with the data type of the field.
In addition, when performing a fuzzy match, if there are multiple matching classes, an instance of the first class found that is compatible with the type is added.
As(IClass)Checks whether this instance is compatible with the specified class type.
Returns True if this instance is an instance of the specified class or its subclass.
As(IPackage,string,bool)Checks whether this instance is compatible with the specified class type.
The specified class is identified from the package specified in the scope.
Returns True if this instance is an instance of the specified class or any of its subclasses.

See the IModel documentation for information on how to specify a class name and fuzzy matching options.
As(string,bool)Checks if this instance is compatible with the specified class type.
Returns True if this instance is an instance of the specified class or any of its subclasses.

See the IModel documentation for information on how to specify a class name and fuzzy matching options.
AsIn(IEnumerable<IClass>)Checks if this instance is compatible with any of the specified class types.
Returns True if this instance is an instance of any of the specified classes or any of their subclasses.
AsIn(IEnumerable<string>,bool)Checks whether this instance is compatible with any of the specified class types.
Returns True if this instance is an instance of any of the specified classes or their subclasses.

For information on how to specify the class name and fuzzy matching options, see the IModel description.
AsIn(IPackage,IEnumerable<string>,bool)Checks whether this instance is compatible with any of the specified class types.
The specified class is identified from the package specified by the scope.
Returns True if this instance is an instance of any of the specified classes or their subclasses.

For information on how to specify the class name and fuzzy matching options, see the IModel description.
AsIn(IPackage,string,bool)Checks whether this instance is compatible with any of the specified class types.
The specified class is identified from the package specified by scope.
Returns True if this instance is an instance of any of the specified classes or their subclasses.

See the IModel documentation for how to specify class names and fuzzy matching options.
AsIn(string,bool)Checks whether this instance is compatible with any of the specified class types.
Returns True if this instance is an instance of any of the specified classes or their subclasses.

See the IModel documentation for how to specify class names and fuzzy matching options.
AssignFeatureAssigns the specified feature to this model.
AssignFeatureByNameAssigns the feature with the specified name to this model.
AssignFeaturesAssigns all the specified features to this model.
AssignFeaturesByNameAssigns all the features with the specified name to this model.
CanChangeMetaclassToDetermines whether this model's class can be changed to the specified class.

Returns false if the parent model can no longer hold this model due to a change in the model's class.
If this model is an association, returns false if the model at the association end can no longer be held.
CanRelateChecks whether the specified field of this instance can be related to the specified model.
Returns True if the relationship can be established.
This method evaluates not only the field type but also the following field constraints.
[Constraints to evaluate]
- Path constraint
- Type constraint
- Multiplicity limit

Note that this method returns False if the model itself or the model to be related is a deleted model or a temporary proxy.
It also returns False if the following fields are specified.
- Product line feature assignment fields
- Fields tagged with System.Core
- Owned fields
- Invalid fields
CanRelateAnyChecks whether this instance can be related to the specified model.
Returns True if the relationship can be established using any of the reference fields of this instance.
Note that it returns False if the model itself or the associated model is a deleted model or a temporary proxy.
Note that it does not apply to owned fields.
ChangeMetaclassToChanges the class of this model to the specified class.

If the class of the owned related instance with the parent model becomes unavailable due to a change in the model class, the class of the owned related instance will be changed to the first class found.
In addition, it deletes the values of fields that cannot be maintained in the changed class.

Shapes that cannot be maintained in the changed class will be deleted.
CountGets the number of values of the specified field.

This method does not evaluate IContextOption.PlModelAccessMode.
CreateAsyncValidationContextCreates an asynchronous validation context for this model.
DeleteDeletes this instance.
If you call this method on an instance that has already been deleted, nothing happens.

Deleting this instance will result in the following changes to the model:
- The ownership relationship between this instance and the owner (parent element) will be deleted.
- All reference relationships with this instance as the association end will be deleted.
- All child elements owned by this instance and elements below, and reference relationships with those elements as association ends will be deleted.
FindChildrenByClass(IClass,bool)Searches for instances of the specified class among instances that are owned by this instance.
This method evaluates IContextOption.PlModelAccessMode.
FindChildrenByClass(IPackage,string,bool,bool)Searches for instances of the specified class among the instances that are owned by this instance.
The specified class is identified from the package specified by the scope.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of instances of the specified class among the instances that are owned by this instance.
Note that an empty collection is returned if the class specified in the class name is not found.
Also, an empty collection is returned if no corresponding instances exist.
FindChildrenByClass(string,bool,bool)Searches for instances of the specified class among the instances that are owned by this instance.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of instances of the specified class among the instances that are owned by the instance.
If the class specified in the class name is not found, an empty collection is returned.
Also, returns an empty collection if there is no corresponding instance.
FindChildrenByClassDisplayNameSearches for instances of a class with the specified display name among the instances that are owned by this instance.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of instances of a class with the specified display name among the instances that are owned by the instance.
If there is no corresponding instance, returns an empty collection.
FindChildrenByClassTagGets instances of a class with the specified tag among the instances that are owned by this instance.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of instances of the class that have the specified tag among the instances in the ownership relationship.
Returns an empty collection if no matching instances exist.
FindChildrenByTagGets instances that have the specified tag among the instances in the ownership relationship of this instance.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of instances that have the specified tag among the instances in the ownership relationship.
Returns an empty collection if no matching instances exist.
FindOwnerByClass(IClass)Gets the first owner instance of the specified class that holds this instance.

Traverses the instances that own this instance toward the parent and returns the first instance of the specified class found.
Returns null if no matching instance is found even after searching up to the top-level parent element.
FindOwnerByClass(IPackage,string,bool)Gets the first owner instance of the specified class that holds this instance.
The specified class is identified from under the package specified in the scope.

Traces the instances that own this instance toward the parent, and returns the first instance of the specified class found.
If no matching instance is found even after searching up to the top-level parent element, null is returned.

Note that null is returned if the class specified in the class name is not found.
In addition, when performing a fuzzy match, if there are multiple matching classes, the first instance of the class found is returned.
FindOwnerByClass(string,bool)Gets the first owner instance of the specified class that holds this instance.

Traces the instances that own this instance toward the parent, and returns the first instance of the specified class found.
If no matching instance is found even after searching up to the top-level parent element, returns null.

Note that if the class specified in the class name is not found, returns null.
Also, when performing a fuzzy match, if there are multiple matching classes, returns the first instance of the class found.
FindRelatableModelsGets models that can be related to this model by the specified reference field.

If the base model of the search range is not specified, the entire project will be searched.

If the base model of the search range is specified, the model that can be related will be searched from the models under that model element.
In this case, the model that is obtained will not include the relationship. For fields that reference relationships, call without specifying the base model of the search range.

Note that if the specified field is not a reference field, an empty collection will be returned.
GetAllChildrenGets all owned instances that can be searched from this instance using a depth-first search of ownership relationships.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of all owned instances that can be searched using a depth-first search of ownership relationships using this instance as the base.
If no corresponding instance exists, an empty collection will be returned.
GetAllErrorsWithChildrenGets all error information, including that of children and elements below, owned by this model.
If no error information exists, an empty collection will be returned.

The error information includes summary information.
GetAssignedFeaturesGet all features assigned to this model.
GetChangeableMetaclassesGet all classes this model can be transformed into.
Returns an empty collection if there are no transformable classes.

Returns the classes of the model whose parent model is maintainable.
If this model is an association, returns the associated classes of the model whose association end model is maintainable.
GetChildrenGets the directly owned instances of this instance.
This method evaluates IContextOption.PlModelAccessMode.

Returns a collection of directly owned instances of this instance.
Returns an empty collection if there are no such instances.
GetDerivedFromRelationsOfIf this model is an element derived from the specified model, get all its derived relations.
For example, if this model is an element derived from{element A}, you can get its derived relations by specifying{element A} as an argument.

This can be used for the following processes.
--Get the relation to the requirement object from the specification object side when there is a derived relation between the requirement object and the specification object.

This method evaluates IContextOption.PlModelAccessMode.

If no relevant relation exists, it returns an empty collection.
GetDerivedModels(IPackage,string,bool)Get the instances derived from this instance by the specified related class.
The specified class is identified from under the package specified by the scope.

This method evaluates IContextOption.PlModelAccessMode.

This method returns an empty collection in the following cases:
- There is no derived instance associated with the corresponding derived association
- The specified association class cannot be found
- The specified association class is not a derived association
- The reference field to the derived destination by the specified derived association class cannot be found
GetDerivedModels(IRelationshipClass)Gets instances derived from this instance by the specified association class.
This method evaluates IContextOption.PlModelAccessMode.
GetDerivedModels(string,bool)Gets instances derived from this instance by the specified related class.
If the related class is not specified (null), all derived instances are retrieved.

This method evaluates IContextOption.PlModelAccessMode.

This method returns an empty collection if the following cases are true:
- There is no derived instance associated with the corresponding derived association
- The specified related class cannot be found
- The specified related class is not a derived association
- The reference field to the derived destination by the specified derived association class cannot be found
GetDerivedToRelationsOfIf the specified model is an element derived from this model, all its derived associations are retrieved.
For example, if there is{element B} derived from this model, you can obtain the derived relationship by specifying{element B} as an argument.

This can be used for the following processes.
--If there is a derived relationship between a requirement object and a specification object, obtain the relationship with the specification object from the requirement object side.

This method evaluates IContextOption.PlModelAccessMode.

If there is no corresponding relationship, it returns an empty collection.
GetDeriveRelationsOfGets all derived relationships with the specified model.
This method evaluates IContextOption.PlModelAccessMode.

If there is no corresponding relationship, it returns an empty collection.
Note that this method does not evaluate the derivation direction.
GetDerivingModels(IPackage,string,bool)Gets the derived instances of this instance by the specified related class.
The specified class is identified from the package specified by the scope.

This method evaluates IContextOption.PlModelAccessMode.

This method returns an empty collection if the following cases are true:
- No derived instances associated with the corresponding derived association
- The specified related class cannot be found
- The specified related class is not a derived association
- The reference field to the derived model by the specified derived association class cannot be found
GetDerivingModels(IRelationshipClass)Gets the derived instances of this instance by the specified related class.
This method evaluates IContextOption.PlModelAccessMode.
GetDerivingModels(string,bool)Gets the derived instances of this instance by the specified related class.
If the related class is not specified (null), all derived instances are retrieved.

This method evaluates IContextOption.PlModelAccessMode.

This method returns an empty collection if the following cases are true:
- No derived instances related by the corresponding derived association
- The specified related class cannot be found
- The specified related class is not a derived association
- The reference field to the derived source by the specified derived association class cannot be found
GetEditorGets the editor of the specified name for this instance.
This method evaluates IContextOption.EditorAccessMode.

If no corresponding editor is found, it returns null.

Depending on the EditorAccessMode specified, the latest model changes may not be synchronized.
Therefore, please note that correct information may not be obtained for editors that have not been displayed since changing the model.
GetEditorsGets all editors that correspond to this instance.
This method evaluates IContextOption.EditorAccessMode.

If no corresponding editor exists, it returns an empty collection.

Depending on the EditorAccessMode specified, the latest model changes may not be synchronized.
Therefore, please note that correct information may not be obtained for editors that have not been displayed since changing the model.
GetFieldGets the value of the specified field of this instance.
If the multiplicity of the specified field is 2 or more, it gets the first element of the field.
GetFieldAtGets the value at the specified index of the specified field of this instance.
GetFieldStringGets the value at the specified index of the specified field of this instance in string format.
If the specified field is a class type, the first instance name of the field is obtained.
If the multiplicity is 2 or more, the first element of the corresponding field is obtained.
GetFieldStringAtGets the value at the specified index of the specified field of this instance in string format.
If the field at the specified index is a class type, the first instance name of the field is obtained.
GetFieldValuesGets the value collection of the specified field.
This method evaluates IContextOption.PlModelAccessMode.

If there is no corresponding field value, it returns an empty collection.
Note that the data type of the field specified by this method must be a class type.
GetFieldValuesByFieldTagGets an enumeration of the values of the field with the specified tag.
If there are multiple fields with the corresponding tag, it returns an enumeration of the values of all the fields combined.
This method does not evaluate IContextOption.PlModelAccessMode. Please note that elements that are invalid in the product are also returned.

If there are no corresponding field values, it returns an empty collection.

Note that the data type of the field to which the tag is applied by this method can be any. Therefore, the enumeration returned by this method is of type object.
When using it, it must be converted to the optimal data type.
GetOwnerFieldGets the field that the owning model of this model holds.
Returns null if this model is related or if there is no owning model.
GetOwnerRelationshipGets the relationship between this model and the owning model.
Returns null if this model is related or if there is no owning model.
GetOwnersGets all the owning instances that can be searched for this instance by ownership.
Returns a collection of instances in the parent direction of the instance that owns this instance.
Returns an empty collection if there is no parent element.
GetProductApplyConditionGets the product apply condition expression for this model.

The product apply condition expression is a logical expression that treats the "feature name variable" as a boolean variable.
If a feature is selected in the configuration, the corresponding "feature name variable" is evaluated as true.
The "feature name variable" is written in a format that surrounds the feature name or feature unique name with "[" and "]".
In addition, the product application condition expression can use the following logical operators and "(",")" to specify the calculation order.
- AND: Logical AND
- OR: Logical OR
- NOT: Negation

Example:
- The following product application condition expression is evaluated as true if the feature name "Following driving" or "Front camera" is selected in the configuration.
[Following driving] OR [Front camera]

- The following product application condition expression is evaluated as true if the feature name "Constant speed driving" is not selected and "Millimeter wave radar" is selected in the configuration.
NOT [Constant Speed Driving] AND [Millimeter Wave Radar]
GetReferenceFieldsOfGets the reference fields of the class of this instance that can store the specified model.
The fields that can be obtained by this method will have the same results as Model.Metaclass.GetReferenceFieldOf(model.Metaclass).
In addition, field constraints such as multiplicity and path constraints are not evaluated.
GetRefRelatedModels(IPackage,string,bool)Gets instances that have a reference relationship with this instance by the specified related class.
The specified class is identified from the package specified by the scope.

This method evaluates IContextOption.PlModelAccessMode.

If the following cases are met, this method returns an empty collection.
- There is no instance related by the reference relationship.
- The specified related class cannot be found.
- The reference field by the specified related class cannot be found.

If the specified related class is a self-referential relationship, both the source and destination relationships are evaluated.
GetRefRelatedModels(IRelationshipClass)Gets instances that are in a reference relationship with this instance by the specified related class.
This method evaluates IContextOption.PlModelAccessMode.

If the specified related class is a self-referential relationship, both the source and destination relationships are evaluated.
GetRefRelatedModels(string,bool)Gets instances that are in a reference relationship with this instance by the specified related class.
If the related class is not specified (null), all instances in the reference relationship are obtained.

This method evaluates IContextOption.PlModelAccessMode.

If the following cases are true, this method returns an empty collection.
- No instances related by the corresponding reference relationship exist
- The specified related class cannot be found
- The reference field by the specified related class cannot be found

Note that if the specified related class is a self-referential relationship, both the source and destination relationships are evaluated.
GetRelatableFieldsOfObtains the reference fields that can relate this instance to the specified model.
The fields that can be obtained by this method are evaluated against field constraints.
Therefore, fields that do not satisfy the following constraints are excluded.
[Constraints to evaluate]
- Path constraint
- Upper multiplicity limit
GetRelatingFieldsOfGets all fields of this instance's class that store the specified model as the field value.
Fields that can be obtained by this method are obtained regardless of ownership/reference.
GetRelationGets the relation of the specified field.
This method evaluates IContextOption.PlModelAccessMode.

If the specified field does not have a valid relation, null is returned.
Note that if the multiplicity of the specified field is 2 or more, the relation to the first element of the field is obtained.
GetRelationAtGets the relation of the specified field at the specified position.
This method evaluates IContextOption.PlModelAccessMode.
GetRelationsGets the relation collection for the specified field.
This method evaluates IContextOption.PlModelAccessMode.

Returns an empty collection if no such relation exists.
GetRelationsByClassTagGets an instance of the relation class with the specified tag from all fields of this instance.
This method evaluates IContextOption.PlModelAccessMode.

Returns an empty collection if no such relation exists.
GetRelationsByClassTagOfGets the relations to the specified model related by the relation class with the specified tag from all fields of this model.
This method evaluates IContextOption.PlModelAccessMode.

Returns an empty collection if no such relation exists.
GetRelationsByFieldOfGets the relations for a given field with a given model.
This method evaluates IContextOption.PlModelAccessMode.

If no such relations exist, it returns an empty collection.
GetRelationsByFieldTagGets the relations for a given tagged field.
This method evaluates IContextOption.PlModelAccessMode.

If no such relations exist, it returns an empty collection.
GetRelationsByFieldTagOfGets the relations for a given tagged field with a given model.
This method evaluates IContextOption.PlModelAccessMode.

If no such relations exist, it returns an empty collection.
GetRelationsByTagGets relations with the specified tag on the specified field.
This method evaluates IContextOption.PlModelAccessMode.

If no such relations exist, it returns an empty collection.
GetRelationsOfGets all relations with the specified model.
This method evaluates IContextOption.PlModelAccessMode.

If no such relations exist, it returns an empty collection.
Note that this method gets all relations, regardless of whether they are owned or referenced.
GetRelationsOfWhereGets relations with the specified model that match the specified criteria for this instance.
This method evaluates IContextOption.PlModelAccessMode.

If there is no corresponding relation, returns an empty collection.

The relations to be retrieved can be determined arbitrarily by the evaluation function.
GetRelationsWhereGets all relations that match the specified conditions of this instance.
This method evaluates IContextOption.PlModelAccessMode.

If there is no corresponding relation, returns an empty collection.

The relations to be retrieved can be determined arbitrarily by the evaluation function.
GetRepresentationsInEditorGets all representation information corresponding to this instance in the specified editor.
This method evaluates IContextOption.EditorAccessMode.

If there is no corresponding element, returns an empty collection.

The latest model changes are not synchronized depending on the EditorAccessMode specified.
Therefore, please note that correct information may not be obtained in editors that have not displayed the model since it was changed.
GetRichTextFieldGets the format value of the specified rich text field.
Returns null if the specified format does not have a value.
GetRichTextFieldCustomDataGets the custom format value of the specified rich text field.
Returns null if the specified format is not found.
GetRichTextFieldFormatsGets a list of formats in which the value of the specified rich text field is set.
The order of the list is unspecified. Formats whose value is an empty string are also returned.
Is(IClass)Checks whether this instance is an instance of the specified class.
Returns True if it is an instance of the specified class.
Is(IPackage,string,bool)Checks whether this instance is an instance of the specified class.
The specified class is identified from the package specified by the scope.
Returns True if the instance is an instance of the specified class.

For information on how to specify the class name and the fuzzy matching options, see the IModel description.
Is(string,bool)Checks whether this instance is an instance of the specified class.
Returns True if the instance is an instance of the specified class.

For information on how to specify the class name and the fuzzy matching options, see the IModel description.
IsAppliedItemChecks whether this model is valid for the current product.
IsAppliedItemToChecks if this model is valid for a specified product.
IsAppliedItemToByNameChecks if this model is valid for a product with a specified name.
IsIn(IEnumerable<IClass>)Checks if this instance is an instance of one of the specified classes.
Returns True if it is an instance of one of the specified classes.
IsIn(IEnumerable<string>,bool)Checks if this instance is an instance of one of the specified classes.
Returns True if it is an instance of one of the specified classes.

For details on how to specify the class name and the fuzzy matching options, see the IModel description.
IsIn(IPackage,IEnumerable<string>,bool)Checks whether this instance is an instance of one of the specified classes.
The specified class is identified from the package specified by the scope.
Returns True if the instance is an instance of one of the specified classes.

For details on how to specify the class name and the fuzzy matching options, see the IModel description.
IsIn(IPackage,string,bool)Checks whether this instance is an instance of one of the specified classes.
The specified class is identified from the package specified by the scope.
Returns True if the instance is an instance of one of the specified classes.

For details on how to specify the class name and the fuzzy matching options, see the IModel description.
IsIn(string,bool)Checks whether this instance is an instance of one of the specified classes.
Returns True if it is an instance of one of the specified classes.

See the IModel documentation for information on how to specify class names and fuzzy match options.
IsRelatedAtFieldToChecks whether this instance has a reference relationship with the specified model at the specified field.
Returns True if it is related.
IsRelatedToChecks whether this instance has a reference relationship with the specified model.
Returns True if it is related.
MoveToMoves this instance to be a child element of the specified model.
If the parent element and field of the destination are the same as the current parent element and field, the order of elements in the specified field will be changed.
Note that no exception will be thrown if the upper multiplicity constraint of the destination field is violated.
NotifyFieldChangedNotifies of a change in the value of the specified field.
RelateRelates the specified model to the end of the specified field of this instance, and returns the added related instance.
RelateAllRelates the specified model to all reference fields that can be associated with the specified model of this instance, and returns a collection of all added related instances.
If a deleted model or a temporary proxy is specified as the model to be associated, no association will be performed.
If no association has been performed, an empty collection will be returned.

This method excludes fields that do not satisfy the following constraints from being associated.
[Constraints to evaluate]
- Path constraint
- Type constraint
- Upper multiplicity limit
- Operational feasibility
RelateAllDerivedFromRelates all fields of this instance that can be associated with the specified model as the derived source, and returns a collection of all associated instances added.
If a deleted model or a temporary proxy is specified as the model to be associated, no association will be made.
If no association is made, an empty collection is returned.

This method excludes fields that do not satisfy the following constraints from being associated.
[Constraints to evaluate]
- Path constraint
- Type constraint
- Upper multiplicity limit
- Operation availability
RelateAllDerivedToRelates all fields of this instance that can be associated with the specified model as the derived destination to the specified model, and returns a collection of all associated instances added.
If a deleted model or a temporary proxy is specified as the associated model, no association will be made.
If no association has been made, an empty collection is returned.

This method excludes fields that do not satisfy the following constraints from being associated.
[Constraints to evaluate]
- Path constraint
- Type constraint
- Upper multiplicity limit
- Operation availability
RelateAtRelates the specified model by specifying the addition position at the specified field of this instance, and returns the added related instance.
RelateByClassTagRelates the specified model by the associated class of this instance with the specified tagged reference field, and returns a collection of all added related instances.
If a deleted model or a temporary proxy is specified as the model to be associated, no association will be made.
If no association is made, an empty collection will be returned.

This method excludes fields that do not satisfy the following constraints from being associated.
[Constraints to evaluate]
- Path constraint
- Type constraint
- Multiplicity limit
- Operation possible
RelateByFieldTagRelates the specified model with a reference field with the specified tag of this instance, and returns a collection of all related instances added.
If a deleted model or a temporary proxy is specified as the model to be related, no association will be made.
If no association is made, an empty collection is returned.

This method excludes fields that do not satisfy the following constraints from being related.
[Constraints to evaluate]
- Path constraint
- Type constraint
- Upper limit of multiplicity
- Operation availability
RelateWhereRelates the specified model with all reference fields that match the specified conditions of this instance, and returns a collection of all related instances added.
If a deleted model or a temporary proxy is specified as the model to be related, no association will be made.
If no association is made, an empty collection will be returned.

The reference field to be related can be determined arbitrarily using the evaluation function.
However, if the field matches the evaluation function but meets the following conditions, no association will be made and the program will terminate normally.
--When a field's path constraint is violated
--When a field's type is not compatible with the given model
--When the field's multiplicity is exceeded
--When a field that matches the condition is one of the following inoperable fields
--Feature-assigned fields in a product line
--Fields tagged with System.Core
ReleaseAllAssignedFeaturesRelease all assigned features from this model.
If you release an assignment from a feature with this call, the product application condition expression will also be deleted.
ReleaseAssignedFeatureRelease the specified feature from this model.
ReleaseAssignedFeatureByNameRelease the assignment of the feature with the specified name to this model.
ReleaseAssignedFeaturesRelease the assignment of all specified features to this model.
ReleaseAssignedFeaturesByNameRelease the assignment of all features with the specified name to this model.
RemoveErrorRemove the error information added to this model.
If null or error information not included in this model is specified as the error information to be deleted, nothing will be done and the program will end normally.
RemoveFieldRemove the value of the specified field of this instance.
If the specified field is an owned field, the specified model will be deleted.
If the specified field is a reference field, only the reference relationship will be deleted and the model will be maintained.

Note that if the model specified to be deleted is not included in the specified field, nothing will be done and the process will end normally.
RemoveFieldAtRemove the field value of the specified position of this instance.
If the specified field is an owned field, the model at the specified position will be deleted.
If the specified field is a reference field, only the reference relationship at the specified position will be deleted and the model will be maintained.
SetFieldSet the specified value to the specified field of this instance.
If a value that cannot be set to the specified field is specified, an exception will be thrown.
Note that if the multiplicity of the specified field is 2 or more, the first element of the corresponding field will be set.
SetFieldAtSets the specified value at the specified index position of the specified field of this instance.
If a value that cannot be set in the specified field is specified, an exception is thrown.
Note that an exception is not thrown even if the field's upper multiplicity constraint or path constraint is violated.
SetInitFieldSets the initial value of the field defined in the metamodel to the specified field of this instance.
If the initial value of the field is not specified in the metamodel, the default value of the field type is set.

If this method is called for an owned field of a class type, the IModel set as the field value is deleted.
Also, if this method is called for a reference field of a class type, the association with the IModel set as the field value is deleted (the IModel of the field value is not deleted and is maintained).
SetProductApplyConditionSets the product apply condition expression for this model.
If a feature name that is not assigned to this model is used in the product apply condition expression, the feature will be automatically assigned.
If a feature name that is assigned to this model is not used in the condition expression, the feature will be automatically removed from the assignment.
If an empty string is specified in the condition expression, all feature assignments will be removed.
SetRichTextField(string,string,string,string)Sets the value to the specified rich text field format.
Also, sets the text value to the specified rich text field.
SetRichTextField(string,string,string)Sets the value to the specified rich text field format.
If the "html" format is specified, the value of the "text" format will also be updated.
SetRichTextField(string,string)Sets the text value in the specified rich text field.
SetRichTextFieldCustomDataSets the value in the custom format of the specified rich text field.

The value of the custom format is not displayed in the UI. It can only be obtained and set via the API.
TakeMoves the specified model to the specified field of this instance.
The parent element of the model to be moved becomes this instance.
Note that no exception is thrown even if the upper multiplicity constraint of the destination field is violated.
UnRelateRemoves the reference association between the specified model and the specified field of this instance.
If there are multiple associations for the field, all of the associations will be removed.
If there is no association with the specified model, nothing will be done and the program will end normally.
UnRelateAllRemoves all reference associations with the specified model for this instance.
If there is no association with the specified model, nothing will be done and the program will end normally.
In addition, associations with fields that meet the following conditions will not be removed and the program will end normally.
- Associations with product line support fields
- Associations with fields that have the System.Core tag attached
UnRelateAllDerivedFromRemoves all associations that derive from the specified model for this instance.
If there is no association with the specified model, nothing will be done and the program will end normally.
In addition, associations with fields that meet the following conditions will not be removed and the program will end normally.
・Associations with fields for product line support
・Associations with fields tagged with System.Core
UnRelateAllDerivedToRelease all associations of this instance that derive from the specified model.
If there is no association with the specified model, nothing will be done and the program will end normally.
Also, associations with fields that meet the following conditions will not be released and the program will end normally.
・Associations with fields for product line support
・Associations with fields tagged with System.Core
UnRelateByClassTagRelease the association with the model specified in the reference field that can be associated by the associated class tagged with the specified tag of this instance.
If there is no association with the specified model, nothing will be done and the program will end normally.
Also, associations with fields that meet the following conditions will not be released and the program will end normally.
・Associations with fields for product line support
・Associations with fields tagged with System.Core
UnRelateByFieldTagRemoves the association with the specified model in the reference field tagged with the specified tag of this instance.
If there is no association with the specified model, nothing is done and the program ends normally.
In addition, associations with fields that meet the following conditions will not be removed and the program ends normally.
・Associations with fields for product line support
・Associations with fields tagged with System.Core
UnRelateWhereRemoves all reference associations with the specified model of this instance that meet the specified conditions.

The targets to be removed can be determined arbitrarily using the evaluation function.
However, associations that meet the following conditions will not be removed and the program will end normally.
- If the relationship that matches the condition is for product line support
- If the System.Core tag is attached to the field of the relationship end that matches the condition
ValidateValidates this model.
Validates this model and all elements below the child elements owned by this model recursively.
When this method is executed, all previous error information is cleared.

[When this method is executed for a project (IProject)]
- If there are any model files in the project that have not been loaded, error information to that effect is added to the model that is the base point of the design model (the model displayed at the root of the model navigator). This is to inform the caller that validation has not been performed for all models in the project because there are unloaded model files.
- This also includes models that cannot be reached by the ownership relationship of the project due to the existence of unloaded model files in the project (models whose parents are not loaded).

[Validation contents]
- Standard validation defined by the application
- Extended validation by the validation event of the extension
Validate(ValidationOptions)Validates this model.
Depending on the option specified, validates only this model, or validates this model and all elements below the child elements owned by this model recursively.
When this method is executed, all previous error information is cleared.

[When this method is executed for a project (IProject)]
- If there are any model files in the project that have not been loaded, error information to that effect is added to the model that is the base point of the design model (the model displayed at the root of the model navigator). This is to inform the caller that validation has not been performed for all models in the project because there are model files that have not been loaded.
- This also includes models that cannot be reached by the ownership relationship of the project due to the existence of unloaded model files in the project (models whose parents are not loaded).

[Validation content]
- Standard validation enabled by the application in the options
- If the option is specified to issue an event when validating a model, validation extended by the validation event of the extension

Extension method

NameDescription
IsDesignModelChecks whether this model is a design model root (root model in the model navigator).
IsProductLineElementChecks whether this model is a product line element.
IsReadonlyChecks whether this model is read-only.
If the model unit corresponding to this model cannot be obtained, returns False.
NameDescription
Edit modelEdit various NextDesign model information through API.