Callables.java 2.09 KB
package com.google.common.util.concurrent;

import com.google.common.base.Preconditions;
import com.google.common.base.Supplier;
import java.util.concurrent.Callable;
import javax.annotation.Nullable;

public final class Callables
{
  static Runnable a(final Runnable paramRunnable, Supplier<String> paramSupplier)
  {
    Preconditions.checkNotNull(paramSupplier);
    Preconditions.checkNotNull(paramRunnable);
    new Runnable()
    {
      public final void run()
      {
        Thread localThread = Thread.currentThread();
        String str = localThread.getName();
        boolean bool = Callables.a((String)this.a.get(), localThread);
        try
        {
          paramRunnable.run();
          return;
        }
        finally
        {
          if (bool) {
            Callables.a(str, localThread);
          }
        }
      }
    };
  }
  
  static <T> Callable<T> a(final Callable<T> paramCallable, Supplier<String> paramSupplier)
  {
    Preconditions.checkNotNull(paramSupplier);
    Preconditions.checkNotNull(paramCallable);
    new Callable()
    {
      public final T call()
        throws Exception
      {
        Thread localThread = Thread.currentThread();
        String str = localThread.getName();
        boolean bool = Callables.a((String)this.a.get(), localThread);
        try
        {
          Object localObject1 = paramCallable.call();
          return (T)localObject1;
        }
        finally
        {
          if (bool) {
            Callables.a(str, localThread);
          }
        }
      }
    };
  }
  
  private static boolean b(String paramString, Thread paramThread)
  {
    try
    {
      paramThread.setName(paramString);
      return true;
    }
    catch (SecurityException paramString) {}
    return false;
  }
  
  public static <T> Callable<T> returning(@Nullable T paramT)
  {
    new Callable()
    {
      public final T call()
      {
        return (T)this.a;
      }
    };
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/util/concurrent/Callables.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */