ClassValue.java

  1. package org.jruby.util.collections;

  2. import org.jruby.Ruby;

  3. /**
  4.  * Represents a cache or other mechanism for getting the Ruby-level proxy classes
  5.  * for a given Java class.
  6.  */
  7. public abstract class ClassValue<T> {
  8.     public ClassValue(ClassValueCalculator<T> calculator) {
  9.         this.calculator = calculator;
  10.     }
  11.    
  12.     public abstract T get(Class cls);
  13.    
  14.     protected final ClassValueCalculator<T> calculator;
  15. }