package com.google.android.material.motion; /** * A map operation transforms incoming values before they are passed downstream. * * @param <T> The incoming value type. * @param <U> The downstream value type. */ public abstract class MapOperation<T, U> extends Operation<T, U> { /** * Transforms the given value to another value. */ public abstract U transform(T value); @Override public final void next(MotionObserver<U> observer, T value) { observer.next(transform(value)); } }