Interface IBmEmfIndexProvider


  • public interface IBmEmfIndexProvider
    Service that manages the EMF index lifecycle.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void descriptionsChanged()
      Notifies the index provider that the descriptions have changed.
      Iterable<org.eclipse.xtext.resource.IResourceDescription> getAllResourceDescriptions()
      Gets all resource descriptions registered in this manager.
      List<org.eclipse.xtext.resource.IEObjectDescription> getBmObjectDescriptors​(long bmObjectId)
      Gets the list of BM object-related descriptors (only direct index belonging to this object, no descendant indexes is being returned).
      Collection<org.eclipse.xtext.resource.IEObjectDescription> getEObjectFilteredIndexByEClasses​(org.eclipse.emf.ecore.EClass eClass, com.google.common.base.Predicate<org.eclipse.xtext.resource.IEObjectDescription> filter)
      Gets cached collection of IEObjectDescription.
      Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndex​(org.eclipse.emf.ecore.EObject eObject)
      Gets the EObject index for the given root object UID.
      Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type)
      Gets the EObject index for the given class type.
      Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type, Collection<ISliceFilter> slices)
      Gets the EObject index for the given class type and special index slices (see IIndexSlicePredicateService)
      Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type, org.eclipse.xtext.naming.QualifiedName name, boolean ignoreCase)
      Gets EObject index by given type and filtering criteria.
      Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type, org.eclipse.xtext.naming.QualifiedName name, boolean ignoreCase, Collection<ISliceFilter> slices)
      Gets EObject index by given type, special index slices (see IIndexSlicePredicateService) and filtering criteria.
      Iterable<org.eclipse.xtext.resource.IEObjectDescription> getFullEObjectIndex()
      Gets the full EObject index for the given manager.
      org.eclipse.xtext.resource.IResourceDescription getResourceDescription​(org.eclipse.emf.common.util.URI uri)
      Gets the resource description for the given URI.
    • Method Detail

      • getAllResourceDescriptions

        Iterable<org.eclipse.xtext.resource.IResourceDescription> getAllResourceDescriptions()
        Gets all resource descriptions registered in this manager.
        Returns:
        The iterable set of resource descriptions.
      • getEObjectFilteredIndexByEClasses

        Collection<org.eclipse.xtext.resource.IEObjectDescription> getEObjectFilteredIndexByEClasses​(org.eclipse.emf.ecore.EClass eClass,
                                                                                                     com.google.common.base.Predicate<org.eclipse.xtext.resource.IEObjectDescription> filter)
        Gets cached collection of IEObjectDescription. The cached collection identified by the given filter and exists until DD is changed. IEObjectDescription will be collected from specified classes if they are defined.
        Parameters:
        eClass - Restrictive type
        filter - The filter that define the specific collection of IEObjectDescription
        Returns:
        cached collection of IEObjectDescription
      • getEObjectIndex

        Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndex​(org.eclipse.emf.ecore.EObject eObject)
        Gets the EObject index for the given root object UID.
        Parameters:
        eObject - The top object.
        Returns:
        The list of the descriptors.
      • getEObjectIndexByType

        Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type)
        Gets the EObject index for the given class type.
        Parameters:
        type - The requested type.
        Returns:
        The iterable which provides descriptions.
      • getEObjectIndexByType

        Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type,
                                                                                       Collection<ISliceFilter> slices)
        Gets the EObject index for the given class type and special index slices (see IIndexSlicePredicateService)
        Parameters:
        type - The requested type, can't be null
        slices - list of index slices, can't be null
        Returns:
        the iterable which provides descriptions, never null
      • getEObjectIndexByType

        Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type,
                                                                                       org.eclipse.xtext.naming.QualifiedName name,
                                                                                       boolean ignoreCase)
        Gets EObject index by given type and filtering criteria.
        Parameters:
        type - Target object type.
        name - Qualified name of the object to filter.
        ignoreCase - Ignore
        Returns:
      • getEObjectIndexByType

        Iterable<org.eclipse.xtext.resource.IEObjectDescription> getEObjectIndexByType​(org.eclipse.emf.ecore.EClass type,
                                                                                       org.eclipse.xtext.naming.QualifiedName name,
                                                                                       boolean ignoreCase,
                                                                                       Collection<ISliceFilter> slices)
        Gets EObject index by given type, special index slices (see IIndexSlicePredicateService) and filtering criteria.
        Parameters:
        type - target object type, can't be null
        name - qualified name of the object to filter, can't be null
        ignoreCase - true if name should be equals with ignoring letters case
        Returns:
        the iterable which provides descriptions, never null
      • getFullEObjectIndex

        Iterable<org.eclipse.xtext.resource.IEObjectDescription> getFullEObjectIndex()
        Gets the full EObject index for the given manager.
        Returns:
        The iterable set of EObject index items.
      • getResourceDescription

        org.eclipse.xtext.resource.IResourceDescription getResourceDescription​(org.eclipse.emf.common.util.URI uri)
        Gets the resource description for the given URI.
        Parameters:
        uri - The uri which addresses the corresponding resource.
        Returns:
        The resource description (if available).
      • getBmObjectDescriptors

        List<org.eclipse.xtext.resource.IEObjectDescription> getBmObjectDescriptors​(long bmObjectId)
        Gets the list of BM object-related descriptors (only direct index belonging to this object, no descendant indexes is being returned).
        Parameters:
        bmObjectId - The unique identifier of the BM object.
        Returns:
        The list of object descriptors (if any); null otherwise.
      • descriptionsChanged

        void descriptionsChanged()
        Notifies the index provider that the descriptions have changed.