ThreadFactoryBuilder.java 3.41 KB
package com.google.common.util.concurrent;

import com.google.common.base.Preconditions;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicLong;

public final class ThreadFactoryBuilder
{
  private String a = null;
  private Boolean b = null;
  private Integer c = null;
  private Thread.UncaughtExceptionHandler d = null;
  private ThreadFactory e = null;
  
  public final ThreadFactory build()
  {
    final String str = this.a;
    final Boolean localBoolean = this.b;
    final Integer localInteger = this.c;
    final Thread.UncaughtExceptionHandler localUncaughtExceptionHandler = this.d;
    ThreadFactory localThreadFactory;
    if (this.e != null)
    {
      localThreadFactory = this.e;
      if (str == null) {
        break label72;
      }
    }
    label72:
    for (final AtomicLong localAtomicLong = new AtomicLong(0L);; localAtomicLong = null)
    {
      new ThreadFactory()
      {
        public final Thread newThread(Runnable paramAnonymousRunnable)
        {
          paramAnonymousRunnable = this.a.newThread(paramAnonymousRunnable);
          if (str != null) {
            paramAnonymousRunnable.setName(String.format(str, new Object[] { Long.valueOf(localAtomicLong.getAndIncrement()) }));
          }
          if (localBoolean != null) {
            paramAnonymousRunnable.setDaemon(localBoolean.booleanValue());
          }
          if (localInteger != null) {
            paramAnonymousRunnable.setPriority(localInteger.intValue());
          }
          if (localUncaughtExceptionHandler != null) {
            paramAnonymousRunnable.setUncaughtExceptionHandler(localUncaughtExceptionHandler);
          }
          return paramAnonymousRunnable;
        }
      };
      localThreadFactory = Executors.defaultThreadFactory();
      break;
    }
  }
  
  public final ThreadFactoryBuilder setDaemon(boolean paramBoolean)
  {
    this.b = Boolean.valueOf(paramBoolean);
    return this;
  }
  
  public final ThreadFactoryBuilder setNameFormat(String paramString)
  {
    String.format(paramString, new Object[] { Integer.valueOf(0) });
    this.a = paramString;
    return this;
  }
  
  public final ThreadFactoryBuilder setPriority(int paramInt)
  {
    if (paramInt > 0)
    {
      bool = true;
      Preconditions.checkArgument(bool, "Thread priority (%s) must be >= %s", new Object[] { Integer.valueOf(paramInt), Integer.valueOf(1) });
      if (paramInt > 10) {
        break label78;
      }
    }
    label78:
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool, "Thread priority (%s) must be <= %s", new Object[] { Integer.valueOf(paramInt), Integer.valueOf(10) });
      this.c = Integer.valueOf(paramInt);
      return this;
      bool = false;
      break;
    }
  }
  
  public final ThreadFactoryBuilder setThreadFactory(ThreadFactory paramThreadFactory)
  {
    this.e = ((ThreadFactory)Preconditions.checkNotNull(paramThreadFactory));
    return this;
  }
  
  public final ThreadFactoryBuilder setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler paramUncaughtExceptionHandler)
  {
    this.d = ((Thread.UncaughtExceptionHandler)Preconditions.checkNotNull(paramUncaughtExceptionHandler));
    return this;
  }
}


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