Click or drag to resize

IQuery Interface

The Query service provides methods to query relations modelled in an AutomationML document. The AMLEngine provides a default query service based on Linq (System.Xml.Linq). To get a better performance for queries, users can register a Lookup service which also implements this query interface but uses dictionary based queries. If ExternalReferences should be queried too, a IExternalReferenceResolver service should be registered.

Namespace: Aml.Engine.Services.Interfaces
Assembly: Aml.Engine (in Aml.Engine.dll) Version: 3.2
Syntax
public interface IQuery : IAMLService

The IQuery type exposes the following members.

Methods
 NameDescription
Public methodAllClassReferences(CAEXObject) Gets all classes which have references to the provided CAEX object. Use this method to get all classes which have a class to class relation to the provided CAEX object.
Public methodAllClassReferences(CAEXDocument, String, String) Gets all classes which have references to the provided class path. Use this method to get all classes which have a class to class relation to the class, identified by the provided classPath. If the elementName is set, only classes with the defined element name are considered.
Public methodAllClassReferencesDeep(CAEXObject) Gets all classes which have references to the provided CAEX object and their referencing classes (recursive). This method extends the AllClassReferences(CAEXObject) and gets not only the directly derived classes of a base class but also the derived classes of these classes and further on.
Public methodAllClassReferencesDeep(CAEXDocument, String, String) Gets all classes which have references to the provided CAEX object and their referencing classes (recursive). This method extends the AllClassReferences(CAEXDocument, String, String) and gets not only the directly derived classes of a base class but also the derived classes of these classes and further on. If the elementName is set, only classes with the defined element name are considered.
Public methodAllElementsIdentifiedByCAEXPath Gets all the elements which are descendants of the provided CAEX object and are identifiable by a CAEX path. Elements having the same path are grouped together. Use this method to validate the existence of ambiguous CAEXPaths.
Public methodAllElementsWithAliasReference Gets all the elements which are descendants of the provided CAEX object and use an alias reference. Elements referencing the same Alias are grouped together. Use this method to validate the existence of referenced externals. If the elementName is set, only elements with the defined element name are considered.
Public methodAllElementsWithCAEXPathReference Gets all the elements which are descendants of the provided CAEX object and use a path reference. Elements referencing the same path are grouped together. Use this method to validate the existence of referenced classes. If the elementName is set, only elements with the defined element name are considered.
Public methodAllElementsWithIDReference Gets all the elements which are descendants of the provided CAEX object which use identifier references. Elements referencing the same ID are grouped together. Use this method to validate the existence of referenced IDs. If the elementName is set, only elements with the defined element name are considered.
Public methodAllElementsWithIDs Gets all the elements which are descendants of the provided CAEX object with IDs. Elements using the same ID are grouped together. Use this method to validate the uniqueness of IDs.
Public methodAllElementsWithInternalLinks Returns all Elements which are descendants of the provided CAEX object with InternalLinks. These elements are the owners of the InternalLink objects. The returned collection may contain InternalElements and SystemUnitClasses as well.
Public methodAllElementsWithNameReference Gets all the elements which are descendants of the provided CAEX object and use a name reference. Elements referencing the same name are grouped together. Use this method to validate the existence of referenced elements.
Public methodAllExternalDataReferences Returns all ExternalInterfaces in the provided document or optionally in the caexObject and descendants, which are instances of the standard Interface class ExternalDataConnector.
Public methodAllExternalInterfacesOfType Returns all ExternalInterfaces in the provided document or optionally in the caexObject and descendants, which are instances of the Interface class defined by the provided interfaceClassPath.
Public methodAllInternalElementsWithInternalLinks Returns all InternalElements which are descendants of the provided CAEX object with InternalLinks. These elements are the owners of the InternalLink objects.
Public methodAttributeMirrors Returns all Mirrors of the specified Attribute
Public methodElementsWithAliasReference Gets alls the elements which are descendants of the provided CAEX object which use the provided Alias in a reference. The elements in the result collection are references, which define the CAEX object and the attribute, containing the reference . If the elementName is set, only elements with the defined element name are considered.
Public methodElementsWithCAEXPathReference Gets alls the elements which are descendants of the provided CAEX object which have a reference to the provided CAEXPath. The elements in the result collection are references, which define the CAEX object and the attribute, containing the reference . If the elementName is set, only elements with the defined element name are considered.
Public methodElementsWithIDReference Gets alls the descendant elements from the provided CAEX object, which have a reference to the provided ID. The elements in the result collection are references, which define the CAEX object and the attribute, containing the reference . If the elementName is set, only elements with the defined element name are considered.
Public methodElementsWithInternalLinkRelations Returns all InternalElements and SystemUnitClasses which are descendants of the provided CAEX object, which are related to others via InternalLinks.
Public methodExternalInterfaceMirrors Returns all Mirrors of the specified ExternalInterface
Public methodFindByID Tries to locate a CAEX object from the specified ID. If the ID uses an alias reference and an IExternalReferenceResolver can be located, it is tried to resolve the external reference and to get the object from the external source.
Public methodFindByPath Tries to locates a CAEX object from the specified CAEX - Path. If the path uses an alias reference and an IExternalReferenceResolver can be located, it is tried to resolve the external reference and to get the object from the external source.
Public methodInterfacesWithInternalLinkRelations Returns all ExternalInterface objects which are descendants of the provided CAEX object and are used in relations (InternalLinks).
Public methodInternalElementMirrors Returns all Mirrors of the specified InternalElement
Public methodInternalLinksToElement Gets all InternalLinks that reference the specified InternalElement or SystemUnitClass.
Public methodInternalLinksToInterface Gets all InternalLinks that reference the specified ExternalInterface.
Public methodIsMaster(AttributeType) Determines whether the specified AttributeType is referenced by other AttributeType objects called 'Mirrors'.
Public methodIsMaster(ExternalInterfaceType) Determines whether the specified ExternalInterface is referenced by other ExternalInterface objects called 'Mirrors'.
Public methodIsMaster(InternalElementType) Determines whether the specified InternalElement is referenced by other InternalElement objects called 'Mirrors'.
Public methodIsReferenced Determines whether the specified CAEX object is referenced.
Top
See Also