my.java 3.86 KB
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.Objects;
import com.google.common.collect.Iterators;
import com.google.common.collect.Multiset;
import com.google.common.collect.Multiset.Entry;
import com.google.common.collect.Multisets;
import com.google.common.collect.Multisets.b;
import com.google.common.collect.Multisets.c;
import java.util.AbstractCollection;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import javax.annotation.Nullable;

@GwtCompatible
public abstract class my<E>
  extends AbstractCollection<E>
  implements Multiset<E>
{
  private transient Set<E> a;
  private transient Set<Multiset.Entry<E>> b;
  
  public abstract Iterator<Multiset.Entry<E>> a();
  
  public int add(@Nullable E paramE, int paramInt)
  {
    throw new UnsupportedOperationException();
  }
  
  public boolean add(@Nullable E paramE)
  {
    add(paramE, 1);
    return true;
  }
  
  public boolean addAll(Collection<? extends E> paramCollection)
  {
    return Multisets.a(this, paramCollection);
  }
  
  public abstract int b();
  
  public Set<E> c()
  {
    return new my.a();
  }
  
  public void clear()
  {
    Iterators.b(a());
  }
  
  public boolean contains(@Nullable Object paramObject)
  {
    return count(paramObject) > 0;
  }
  
  public int count(@Nullable Object paramObject)
  {
    Iterator localIterator = entrySet().iterator();
    while (localIterator.hasNext())
    {
      Multiset.Entry localEntry = (Multiset.Entry)localIterator.next();
      if (Objects.equal(localEntry.getElement(), paramObject)) {
        return localEntry.getCount();
      }
    }
    return 0;
  }
  
  public Set<Multiset.Entry<E>> createEntrySet()
  {
    return new my.b();
  }
  
  public Set<E> elementSet()
  {
    Set localSet2 = this.a;
    Set localSet1 = localSet2;
    if (localSet2 == null)
    {
      localSet1 = c();
      this.a = localSet1;
    }
    return localSet1;
  }
  
  public Set<Multiset.Entry<E>> entrySet()
  {
    Set localSet2 = this.b;
    Set localSet1 = localSet2;
    if (localSet2 == null)
    {
      localSet1 = createEntrySet();
      this.b = localSet1;
    }
    return localSet1;
  }
  
  public boolean equals(@Nullable Object paramObject)
  {
    return Multisets.a(this, paramObject);
  }
  
  public int hashCode()
  {
    return entrySet().hashCode();
  }
  
  public boolean isEmpty()
  {
    return entrySet().isEmpty();
  }
  
  public Iterator<E> iterator()
  {
    return Multisets.a(this);
  }
  
  public int remove(@Nullable Object paramObject, int paramInt)
  {
    throw new UnsupportedOperationException();
  }
  
  public boolean remove(@Nullable Object paramObject)
  {
    return remove(paramObject, 1) > 0;
  }
  
  public boolean removeAll(Collection<?> paramCollection)
  {
    return Multisets.b(this, paramCollection);
  }
  
  public boolean retainAll(Collection<?> paramCollection)
  {
    return Multisets.c(this, paramCollection);
  }
  
  public int setCount(@Nullable E paramE, int paramInt)
  {
    return Multisets.a(this, paramE, paramInt);
  }
  
  public boolean setCount(@Nullable E paramE, int paramInt1, int paramInt2)
  {
    return Multisets.a(this, paramE, paramInt1, paramInt2);
  }
  
  public int size()
  {
    return Multisets.b(this);
  }
  
  public String toString()
  {
    return entrySet().toString();
  }
  
  final class a
    extends Multisets.b<E>
  {
    a() {}
    
    final Multiset<E> a()
    {
      return my.this;
    }
  }
  
  public class b
    extends Multisets.c<E>
  {
    protected b() {}
    
    public Multiset<E> a()
    {
      return my.this;
    }
    
    public Iterator<Multiset.Entry<E>> iterator()
    {
      return my.this.a();
    }
    
    public int size()
    {
      return my.this.b();
    }
  }
}


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