Package org.eclipse.viatra.transformation.runtime.emf.modelmanipulation

## Interface IEcoreReadOperations<RootContainer,​ModelObject>

- Type Parameters:
    `RootContainer` - the type of root containers in which model elements may reside (e.g. a `Resource`)
    `ModelObject` - the type representing a model element; can be simply an `EObject` or a surrogate key
  All Known Subinterfaces:
    `IModelReadOperations`
  All Known Implementing Classes:
    `AbstractModelManipulations`, `IndexHostManipulations`, `ModelManipulationWithEditingDomain`, `SimpleModelManipulations`

      public interface IEcoreReadOperations<RootContainer,​ModelObject>

  Interface for commands that read some representation of an instance of an Ecore metamodel. `IModelReadOperations` is provided as the default case where the instance model is simply an EMF model.

  Note that not all representations may support / preserve ordered collections.

  Since:
    2.1
  No Extend:
    This interface is not intended to be implemented by clients.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `count​(ModelObject container, org.eclipse.emf.ecore.EStructuralFeature feature)` | Retrieves the number of values in a given feature slot of a given container model element.
    `org.eclipse.emf.ecore.EClass` | `eClass​(ModelObject element)` | Queries the exact type of the given object.
    `boolean` | `isSetTo​(ModelObject container, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)` | Returns whether the given value is listed among the values in a given feature slot of a given container model element.
    `java.util.stream.Stream<? extends java.lang.Object>` | `stream​(ModelObject container, org.eclipse.emf.ecore.EStructuralFeature feature)` | Retrieves all values in a given feature slot of a given container model element.

- - ### Method Detail

    - #### eClass

          org.eclipse.emf.ecore.EClass eClass​(ModelObject element)
                                       throws ModelManipulationException

      Queries the exact type of the given object.
      Throws:
        `ModelManipulationException`

    - #### count

          int count​(ModelObject container,
                    org.eclipse.emf.ecore.EStructuralFeature feature)
             throws ModelManipulationException

      Retrieves the number of values in a given feature slot of a given container model element.
      Throws:
        `ModelManipulationException`

    - #### stream

          java.util.stream.Stream<? extends java.lang.Object> stream​(ModelObject container,
                                                                     org.eclipse.emf.ecore.EStructuralFeature feature)
                                                              throws ModelManipulationException

      Retrieves all values in a given feature slot of a given container model element.
      Throws:
        `ModelManipulationException`

    - #### isSetTo

          boolean isSetTo​(ModelObject container,
                          org.eclipse.emf.ecore.EStructuralFeature feature,
                          java.lang.Object value)
                   throws ModelManipulationException

      Returns whether the given value is listed among the values in a given feature slot of a given container model element.
      Throws:
        `ModelManipulationException`