Interface ChangeDetector<T extends @Nullable Object>

Type Parameters:
T - the type of the stateful object

@API(status=EXPERIMENTAL, since="1.7.0") public interface ChangeDetector<T extends @Nullable Object>
A change detector is used to determine if a stateful object has changed after the application of a transformer. This can become improve shrinking of chins and actionChains.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    static ChangeDetector<@Nullable Object>
     
    void
    before(T before)
    Get and remember the state before it is handed to a transformer.
    static <T extends @Nullable Object>
    ChangeDetector<T>
    A change detector that can be used for immutable types that implement an equals() method
    boolean
    hasChanged(T after)
    Determine if the state object has changed.
  • Method Details

    • forImmutables

      static <T extends @Nullable Object> ChangeDetector<T> forImmutables()
      A change detector that can be used for immutable types that implement an equals() method
      Type Parameters:
      T - the type of the stateful object
      Returns:
      new instance of change detector
    • alwaysTrue

      @API(status=INTERNAL) static ChangeDetector<@Nullable Object> alwaysTrue()
    • before

      void before(T before)
      Get and remember the state before it is handed to a transformer.
    • hasChanged

      boolean hasChanged(T after)
      Determine if the state object has changed.
      Parameters:
      after - The state resulting from handing it to a transformer.