## com.google.common.base
Interface Function<F,T>

All Known Subinterfaces:
  LoadingCache<K,V>

All Known Implementing Classes:
  AbstractLoadingCache, ForwardingLoadingCache, ForwardingLoadingCache.SimpleForwardingLoadingCache

    @GwtCompatible
    public interface Function<F,T>

Determines an output value based on an input value.

See the Guava User Guide article on the use of `Function`.

Since:
  2.0 (imported from Google Collections Library)
Author:
  Kevin Bourrillion

Method Summary
`T` `apply(F input)` Returns the result of applying this function to `input`.
`boolean` `equals(Object object)` Indicates whether another object is equal to this function.

Method Detail

### apply

    @Nullable
    T apply(@Nullable
                     F input)

  Returns the result of applying this function to `input`. This method is generally expected, but not absolutely required, to have the following properties:
  - Its execution does not cause any observable side effects.
  - The computation is consistent with equals; that is, `Objects.equal` `(a, b)` implies that `Objects.equal(function.apply(a), function.apply(b))`.

  Throws:
    `NullPointerException` - if `input` is null and this function does not accept null arguments

### equals

    boolean equals(@Nullable
                   Object object)

  Indicates whether another object is equal to this function.

  Most implementations will have no reason to override the behavior of `Object.equals(java.lang.Object)`. However, an implementation may also choose to return `true` whenever `object` is a `Function` that it considers interchangeable with this one. "Interchangeable" typically means that `Objects.equal(this.apply(f), that.apply(f))` is true for all `f` of type `F`. Note that a `false` result from this method does not imply that the functions are known not to be interchangeable.

  Overrides:
    `equals` in class `Object`

Copyright © 2010-2012. All Rights Reserved.