Package org.optaplanner.core.impl.heuristic.selector.entity.mimic

## Class ManualEntityMimicRecorder<Solution_>

- java.lang.Object
- - org.optaplanner.core.impl.heuristic.selector.entity.mimic.ManualEntityMimicRecorder<Solution_>

- All Implemented Interfaces:
    `EntityMimicRecorder<Solution_>`

      public class ManualEntityMimicRecorder<Solution_>
      extends Object
      implements EntityMimicRecorder<Solution_>

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Object` | `recordedEntity` |
    `protected List<MimicReplayingEntitySelector<Solution_>>` | `replayingEntitySelectorList` |
    `protected EntitySelector<Solution_>` | `sourceEntitySelector` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ManualEntityMimicRecorder​(EntitySelector<Solution_> sourceEntitySelector)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addMimicReplayingEntitySelector​(MimicReplayingEntitySelector<Solution_> replayingEntitySelector)` |
    `Iterator<Object>` | `endingIterator()` |
    `EntityDescriptor<Solution_>` | `getEntityDescriptor()` |
    `Object` | `getRecordedEntity()` |
    `long` | `getSize()` |
    `boolean` | `isCountable()` |
    `boolean` | `isNeverEnding()` |
    `void` | `setRecordedEntity​(Object recordedEntity)` |
    `String` | `toString()` |

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

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

- - ### Field Detail

    - #### sourceEntitySelector

          protected final EntitySelector<Solution_> sourceEntitySelector

    - #### replayingEntitySelectorList

          protected final List<MimicReplayingEntitySelector<Solution_>> replayingEntitySelectorList

    - #### recordedEntity

          protected Object recordedEntity

  - ### Constructor Detail

    - #### ManualEntityMimicRecorder

          public ManualEntityMimicRecorder​(EntitySelector<Solution_> sourceEntitySelector)

  - ### Method Detail

    - #### addMimicReplayingEntitySelector

          public void addMimicReplayingEntitySelector​(MimicReplayingEntitySelector<Solution_> replayingEntitySelector)

      Specified by:
        `addMimicReplayingEntitySelector` in interface `EntityMimicRecorder<Solution_>`
      Parameters:
        `replayingEntitySelector` - never null

    - #### getRecordedEntity

          public Object getRecordedEntity()

    - #### setRecordedEntity

          public void setRecordedEntity​(Object recordedEntity)

    - #### getEntityDescriptor

          public EntityDescriptor<Solution_> getEntityDescriptor()

      Specified by:
        `getEntityDescriptor` in interface `EntityMimicRecorder<Solution_>`
      Returns:
        As defined by `EntitySelector.getEntityDescriptor()`
      See Also:
        `EntitySelector.getEntityDescriptor()`

    - #### isCountable

          public boolean isCountable()

      Specified by:
        `isCountable` in interface `EntityMimicRecorder<Solution_>`
      Returns:
        As defined by `Selector.isCountable()`
      See Also:
        `Selector.isCountable()`

    - #### isNeverEnding

          public boolean isNeverEnding()

      Specified by:
        `isNeverEnding` in interface `EntityMimicRecorder<Solution_>`
      Returns:
        As defined by `Selector.isNeverEnding()`
      See Also:
        `Selector.isNeverEnding()`

    - #### getSize

          public long getSize()

      Specified by:
        `getSize` in interface `EntityMimicRecorder<Solution_>`
      Returns:
        As defined by `IterableSelector.getSize()`
      See Also:
        `IterableSelector.getSize()`

    - #### endingIterator

          public Iterator<Object> endingIterator()

      Specified by:
        `endingIterator` in interface `EntityMimicRecorder<Solution_>`
      Returns:
        As defined by `EntitySelector.endingIterator()`
      See Also:
        `EntitySelector.endingIterator()`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`