MutableClassToInstanceMap.java 1.31 KB
package com.google.common.collect;

import com.google.common.primitives.Primitives;
import java.util.HashMap;
import java.util.Map;

public final class MutableClassToInstanceMap<B>
  extends MapConstraints.g<Class<? extends B>, B>
  implements ClassToInstanceMap<B>
{
  private static final MapConstraint<Class<?>, Object> a = new MapConstraint() {};
  
  private MutableClassToInstanceMap(Map<Class<? extends B>, B> paramMap)
  {
    super(paramMap, a);
  }
  
  private static <B, T extends B> T b(Class<T> paramClass, B paramB)
  {
    return (T)Primitives.wrap(paramClass).cast(paramB);
  }
  
  public static <B> MutableClassToInstanceMap<B> create()
  {
    return new MutableClassToInstanceMap(new HashMap());
  }
  
  public static <B> MutableClassToInstanceMap<B> create(Map<Class<? extends B>, B> paramMap)
  {
    return new MutableClassToInstanceMap(paramMap);
  }
  
  public final <T extends B> T getInstance(Class<T> paramClass)
  {
    return (T)b(paramClass, get(paramClass));
  }
  
  public final <T extends B> T putInstance(Class<T> paramClass, T paramT)
  {
    return (T)b(paramClass, put(paramClass, paramT));
  }
}


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