Click or drag to resize

QueryService Class

This class defines the default query service for a CAEXDocument. The query methods of this service are based on System.Xml.Linq and System.Xml.XPath.
Inheritance Hierarchy
SystemObject
  Aml.Engine.ServicesQueryService

Namespace: Aml.Engine.Services
Assembly: Aml.Engine (in Aml.Engine.dll) Version: 3.2
Syntax
public class QueryService : IQuery, 
	IAMLService, ILookUpTable

The QueryService type exposes the following members.

Constructors
 NameDescription
Public methodQueryServiceInitializes a new instance of the QueryService class
Top
Methods
 NameDescription
Public methodAllClassReferences(CAEXObject) Gets all classes which have references to the provided caexObject, using the CAEXPath of the 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)
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.
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 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.
Public methodElementsWithIDReference Gets alls the elements from the document 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 Finds the first element in the defined document, which ID is equal to the provided ID.
Public methodFindByPath This method tries to find the first element in the defined document, which CAEXPath is equal to the provided path. If the path uses an alias to reference an object in a external document it is tried to locate an IExternalReferenceResolver service. If such a service is registered, the CAEXObject is tried to be found in the resolved document.
Public methodIDTableIsLoaded Gets a value, indicating if the ID-Table is loaded for the provided document.
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 InternalLink objects referencing the provided SystemUnitClass object via an external interface attached to the SystemUnitClass.
Public methodInternalLinksToInterface Gets all InternalLinks that reference the specified ExternalInterface.
Public methodIsMaster(AttributeType) Determines whether the specified attribute is a master attribute.
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.
Public methodLoadIDTable Loads an ID based lookup table for a document.
Public methodLoadPathTable Loads a CAEXPath based lookup table for a document.
Public methodPathTableIsLoaded Gets a value, indicating if the Path-Table is loaded for the provided document.
Public methodUnloadIDTable Unloads the ID based lookup table for a document.
Public methodUnloadPathTable Unloads the CAEXPath based lookup table for a document.
Top
Remarks
The query service also implements the ILookUpTable interface. The usage of index tables based on the ID of a CAEX object or the CAEXPath of a CAEX object can improve the performance of FindByID(CAEXDocument, String, Boolean) and FindByPath(CAEXDocument, String, Boolean) methods. Before calling these methods the tables must be loaded with LoadIDTable(CAEXDocument) and LoadPathTable(CAEXDocument). Index tables are not automatically updated when a CAEX document is changed. It is recommended to load the tables for a readonly document only.
See Also