Tells if the part instance has annotations attached to it.
Each part instance may have specific documents attached to it.
This is a list that tells if any part instance in the part instance genealogy / children has documents.
Each part instance may have specific metadata attached to it with a specific document.
This is a list of all the instance metadata documents of the part instance and its genealogy,
or the list of instance metadata documents of the children of this part instance.
The document may be empty, meaning no information is available for the specific ancestor (or current
part instance), or specific child.
part instance.Each child of an instance is linked to its parent with an optional link metadata document.
This is a list of all the link metadata documents of the part instance and its genealogy, or the list of link metadata documents of the children of this part instance.
If defined, the link document is retrieved and included in the definition of the child.
The document may be empty, meaning no information is available for the specific ancestor (or current
part instance), or specific child.
part instance (parent or current part instance).part instance (parent or current part instance, or child depending on the call).Tells the fields of the instance metadata document that are either:
The name of the attribute is the path (concatenated with '.') and optionally a number (if the type is an array), or gt, gte, lt, lte for range values.
Tells the fields of the link metadata document that are either:
The name of the attribute is the path (concatenated with '.') and optionally a number (if the type is an array), or gt, gte, lt, lte for range values.
Tells the fields of the part metadata document that are either:
null.The name of the attribute is the path (concatenated with '.') and optionally a number (if the type is an array), or gt, gte, lt, lte for range values.
The part metadata document is shared among all part instances of the same part.
This is a list of all the part metadata documents of the part instance and its genealogy, or the part metadata documents of the children of the part instance.
A part is the definition of a single element of the DMU that may be instantiated multiple times.
This is the genealogy chain or children list of part metadata documents. Any missing document for the given chain/list is represented by
an empty object.
The document may be empty, meaning no information is available for the specific ancestor, or this part instance has no child.
part metadata document (unique across the DMU) for this part instance.part instance (parent or current part instance).
The ObjectMetadataInterface tells about the metadata documents linked to a
part instanceand its genealogy or children.The ObjectMetadataInterface is included in the PartInstanceInfoInterface or ChildrenPartInstanceInfoInterface, which is retrieved by an IdCardGetterInterface or ChildrenIdCardGetterInterface.
The ObjectMetadataInterface shows the metadata documents attached to a
part instance.Such metadata documents may be :
part metadata document: this document is shared among all the instances of the samepart(a bolt for example).link metadata document: when defining a child of apart instance, a metadata document may be set to define the link between the twopart instances. The childpart instanceincludes the link metadata document (as such, the rootpart instanceof the DMU cannot have a link metadata document and thus its link metadata document is empty).instance metadata document: the givenpart instancemay have specific information attached to it (not shared by all the instances of the samepart, as a serial number for example).All these documents follow the same pattern :
Please remember that
metadata documentscannot be queried by theirstring idbut by theirinteger ids(see Search).The
link metadata documentalso features specific information (the "effectivity" property) that are used for the configurations (ConfContextInterface, Main concepts) of the DMU. A configuration is a set of included or excluded effectivities. Any link that satisfies the requirements in term of effectivities is included in the configuration, meaning the childpart instanceof the link will be available in the given configuration. If not, the given childpart instancewill not be included. Anylink metadata documentmay thus have an effectivity property.The ObjectMetadataInterface is organized by document types (
part metadata documents,link metadata documents,part instance metadata documents).There is a unique instantiation chain of
part instances, starting from the rootpart instanceto a specificpart instance(this is the definition of apart instance). The ObjectMetadataInterface may include the documents of such a chain if included in a PartInstanceInfoInterface, if included in a ChildrenPartInstanceInfoInterface, then the documents are the one of the children of the requestedpart instance. The retrieveIdCard and retrieveChildrenIdCard will return the same number of PartInstanceInfoInterface than the number ofpart instancesthat were queried.A chain, or children are exposed by the ObjectMetadataInterface as arrays. All the arrays have the same size, the size of the chain of the
part instances, or the number of children of a part instance. In the case of a chain, the first item in the chain is the rootpart instance, the last item is thepart instancethat was queried by retrieveIdCard. In the case of a children list, the order is irrelevant.Warning : the
metadata documentscontent may change depending on the given configuration, as such, some fields may appear or not depending on the chosen configuration.The ObjectMetadataInterface also shows if a
part instancein the chain or children has any attached document (see DocumentContentGetterInterface and AttachedDocumentInfoInterface) attached to it. A boolean array (size fo the instantiation chain, number of children) exposes this property.Here is an example of an ObjectMetadataInterface :
The ObjectMetadataInterface may be queried by the following code :
or :
With async calls :
or :
The ObjectMetadataInterface contains fields that are included in the [AttributesDictionaryInterface](AttributesDictionaryInterface.html). Just look for the given attribute in the [AttributesDictionaryInterface](AttributesDictionaryInterface.html).
Any field may have the given type, an array of the given type or null (depending on getAttributeType). Any field may have not be included in the AttributesDictionaryInterface, in this case, such metadata cannot be filtered, since it cannot be indexed. Such data that cannot be indexed can be found in the nonindexedpartmd, nonindexedlinkmd or nonindexedinstancemd fields.
Consider now the following example :
Dictionary :
ObjectMetadataInterface :
Please refer to [PartInstanceInfoInterface](PartInstanceInfoInterface.html) and [ChildrenPartInstanceInfoInterface](ChildrenPartInstanceInfoInterface.html) to get more information about metadata requests.
See