Funnels.java 4.41 KB
package com.google.common.hash;

import com.google.common.annotations.Beta;
import com.google.common.base.Preconditions;
import java.io.OutputStream;
import java.io.Serializable;
import java.nio.charset.Charset;
import javax.annotation.Nullable;

@Beta
public final class Funnels
{
  public static OutputStream asOutputStream(PrimitiveSink paramPrimitiveSink)
  {
    return new e(paramPrimitiveSink);
  }
  
  public static Funnel<byte[]> byteArrayFunnel()
  {
    return a.a;
  }
  
  public static Funnel<Integer> integerFunnel()
  {
    return b.a;
  }
  
  public static Funnel<Long> longFunnel()
  {
    return c.a;
  }
  
  public static <E> Funnel<Iterable<? extends E>> sequentialFunnel(Funnel<E> paramFunnel)
  {
    return new d(paramFunnel);
  }
  
  public static Funnel<CharSequence> stringFunnel(Charset paramCharset)
  {
    return new f(paramCharset);
  }
  
  public static Funnel<CharSequence> unencodedCharsFunnel()
  {
    return g.a;
  }
  
  static enum a
    implements Funnel<byte[]>
  {
    private a() {}
    
    public final String toString()
    {
      return "Funnels.byteArrayFunnel()";
    }
  }
  
  static enum b
    implements Funnel<Integer>
  {
    private b() {}
    
    public final String toString()
    {
      return "Funnels.integerFunnel()";
    }
  }
  
  static enum c
    implements Funnel<Long>
  {
    private c() {}
    
    public final String toString()
    {
      return "Funnels.longFunnel()";
    }
  }
  
  static class d<E>
    implements Funnel<Iterable<? extends E>>, Serializable
  {
    private final Funnel<E> a;
    
    d(Funnel<E> paramFunnel)
    {
      this.a = ((Funnel)Preconditions.checkNotNull(paramFunnel));
    }
    
    public boolean equals(@Nullable Object paramObject)
    {
      if ((paramObject instanceof d))
      {
        paramObject = (d)paramObject;
        return this.a.equals(((d)paramObject).a);
      }
      return false;
    }
    
    public int hashCode()
    {
      return d.class.hashCode() ^ this.a.hashCode();
    }
    
    public String toString()
    {
      String str = String.valueOf(String.valueOf(this.a));
      return str.length() + 26 + "Funnels.sequentialFunnel(" + str + ")";
    }
  }
  
  static final class e
    extends OutputStream
  {
    final PrimitiveSink a;
    
    e(PrimitiveSink paramPrimitiveSink)
    {
      this.a = ((PrimitiveSink)Preconditions.checkNotNull(paramPrimitiveSink));
    }
    
    public final String toString()
    {
      String str = String.valueOf(String.valueOf(this.a));
      return str.length() + 24 + "Funnels.asOutputStream(" + str + ")";
    }
    
    public final void write(int paramInt)
    {
      this.a.putByte((byte)paramInt);
    }
    
    public final void write(byte[] paramArrayOfByte)
    {
      this.a.putBytes(paramArrayOfByte);
    }
    
    public final void write(byte[] paramArrayOfByte, int paramInt1, int paramInt2)
    {
      this.a.putBytes(paramArrayOfByte, paramInt1, paramInt2);
    }
  }
  
  static class f
    implements Funnel<CharSequence>, Serializable
  {
    private final Charset a;
    
    f(Charset paramCharset)
    {
      this.a = ((Charset)Preconditions.checkNotNull(paramCharset));
    }
    
    public boolean equals(@Nullable Object paramObject)
    {
      if ((paramObject instanceof f))
      {
        paramObject = (f)paramObject;
        return this.a.equals(((f)paramObject).a);
      }
      return false;
    }
    
    public int hashCode()
    {
      return f.class.hashCode() ^ this.a.hashCode();
    }
    
    public String toString()
    {
      String str = String.valueOf(String.valueOf(this.a.name()));
      return str.length() + 22 + "Funnels.stringFunnel(" + str + ")";
    }
    
    Object writeReplace()
    {
      return new a(this.a);
    }
    
    static final class a
      implements Serializable
    {
      private static final long serialVersionUID = 0L;
      private final String a;
      
      a(Charset paramCharset)
      {
        this.a = paramCharset.name();
      }
      
      private Object readResolve()
      {
        return Funnels.stringFunnel(Charset.forName(this.a));
      }
    }
  }
  
  static enum g
    implements Funnel<CharSequence>
  {
    private g() {}
    
    public final String toString()
    {
      return "Funnels.unencodedCharsFunnel()";
    }
  }
}


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