Package icyllis.modernui.animation

# Class BidirectionalTypeConverter<T,V>

java.lang.Object
icyllis.modernui.animation.BidirectionalTypeConverter<T,V>

All Implemented Interfaces:
  `TypeConverter<T,V>`

public abstract class BidirectionalTypeConverter<T,V> extends Object implements TypeConverter<T,V>
Abstract base class used convert type T to another type V and back again. This is necessary when the value types of in animation are different from the property type. BidiTypeConverter is needed when only the final value for the animation is supplied to animators.

See Also:
  - `PropertyValuesHolder.setConverter(TypeConverter)`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BidirectionalTypeConverter()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract T`
  `convertBack(V value)`
  Does a conversion from the target type back to the source type.
  `final BidirectionalTypeConverter<V,T>`
  `invert()`
  Returns the inverse of this converter, where the from and to classes are reversed.

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

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

  ### Methods inherited from interface icyllis.modernui.animation.TypeConverter

  `convert`

- ## Constructor Details

  - ### BidirectionalTypeConverter

    public BidirectionalTypeConverter()

- ## Method Details

  - ### convertBack

    public abstract T convertBack(V value)
    Does a conversion from the target type back to the source type. The subclass must implement this when a TypeConverter is used in animations and current values will need to be read for an animation.
    Parameters:
      `value` - The Object to convert.
    Returns:
      A value of type T, converted from `value`.

  - ### invert

    public final BidirectionalTypeConverter<V,T> invert()
    Returns the inverse of this converter, where the from and to classes are reversed. The inverted converter uses this convert to call `convertBack(Object)` for `TypeConverter.convert(Object)` calls and `TypeConverter.convert(Object)` for `convertBack(Object)` calls.
    Returns:
      The inverse of this converter, where the from and to classes are reversed.