org.eclipse.viatra.query.runtime.localsearch.operations.extend

## Class IterateOverEStructuralFeatureInstances

- java.lang.Object
- - org.eclipse.viatra.query.runtime.localsearch.operations.extend.IterateOverEStructuralFeatureInstances

- All Implemented Interfaces:
    IIteratingSearchOperation, ISearchOperation

      public class IterateOverEStructuralFeatureInstances
      extends java.lang.Object
      implements IIteratingSearchOperation

  Iterates all available `EStructuralFeature` elements using an `VIATRA Base indexer`. It is assumed that the base indexer has been registered for the selected reference type.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation

      `ISearchOperation.ISearchOperationExecutor`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IterateOverEStructuralFeatureInstances(int sourcePosition, int targetPosition, org.eclipse.emf.ecore.EStructuralFeature feature)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ISearchOperation.ISearchOperationExecutor` | `createExecutor()` Initializes a new operation executor for the given operation.
    `org.eclipse.emf.ecore.EStructuralFeature` | `getFeature()`
    `IInputKey` | `getIteratedInputKey()` Get the `IInputKey` which instances this operation iterates upon.
    `java.util.List<java.lang.Integer>` | `getVariablePositions()`
    `java.lang.String` | `toString()`
    `java.lang.String` | `toString(java.util.function.Function<java.lang.Integer,java.lang.String> variableMapping)` Creates a string representation of the search operation by replacing the variable numbers according to the parameter function.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### IterateOverEStructuralFeatureInstances

          public IterateOverEStructuralFeatureInstances(int sourcePosition,
                                                        int targetPosition,
                                                        org.eclipse.emf.ecore.EStructuralFeature feature)

  - ### Method Detail

    - #### getFeature

          public org.eclipse.emf.ecore.EStructuralFeature getFeature()

    - #### createExecutor

          public ISearchOperation.ISearchOperationExecutor createExecutor()

      Description copied from interface: `ISearchOperation`
      Initializes a new operation executor for the given operation. Repeated calls must return different executor instances.
      Specified by:
        `createExecutor` in interface `ISearchOperation`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString(java.util.function.Function<java.lang.Integer,java.lang.String> variableMapping)

      Description copied from interface: `ISearchOperation`
      Creates a string representation of the search operation by replacing the variable numbers according to the parameter function. It is expected that the provided function does return a non-null value for each variable index that is returned by `ISearchOperation.getVariablePositions()`; otherwise a `NullPointerException` will be thrown during the calculation of the string.
      Specified by:
        `toString` in interface `ISearchOperation`

    - #### getVariablePositions

          public java.util.List<java.lang.Integer> getVariablePositions()

      Specified by:
        `getVariablePositions` in interface `ISearchOperation`
      Returns:
        the ordered list of the variable numbers that are affected by the search operation

    - #### getIteratedInputKey

          public IInputKey getIteratedInputKey()

      Description copied from interface: `IIteratingSearchOperation`
      Get the `IInputKey` which instances this operation iterates upon.
      Specified by:
        `getIteratedInputKey` in interface `IIteratingSearchOperation`
      Since:
        1.4