class AviatorRuntimeJavaType extends AviatorJavaType {


  private static final long serialVersionUID = 3107203976124904223L;

  public static final ThreadLocal<VarNameGenerator> TEMP_VAR_GEN =
      new ThreadLocal<VarNameGenerator>() {

        @Override
        protected VarNameGenerator initialValue() {
          return new VarNameGenerator();
        }

      };

  protected Object object;
  protected Callable<Object> callable;

  public static AviatorObject valueOf(final Object object) {<FILL_FUNCTION_BODY>}

  /**
   * Deprecated since 5.0.0, please use {@link AviatorRuntimeJavaType#valueOf(Object)} instead.
   *
   * @deprecated
   * @param object
   */
  @Deprecated
  public AviatorRuntimeJavaType(final Object object) {
    super(null);
    this.object = object;
  }

  public Callable<Object> getCallable() {
    return this.callable;
  }

  public void setCallable(final Callable<Object> callable) {
    this.callable = callable;
  }

  public static String genName() {
    return TEMP_VAR_GEN.get().gen();
  }

  @Override
  public String getName() {
    if (this.name == null) {
      this.name = genName();
    }
    return this.name;
  }

  @Override
  public Object getValue(final Map<String, Object> env) {
    if (this.callable != null) {
      try {
        return this.callable.call();
      } catch (Exception e) {
        throw Reflector.sneakyThrow(e);
      }
    }
    return this.object;
  }

}

    if (object == null) {
      return AviatorNil.NIL;
    }
    if (object instanceof AviatorObject) {
      return (AviatorObject) object;
    }
    return new AviatorRuntimeJavaType(object);
  
<methods>public void <init>(java.lang.String) ,public void <init>(java.lang.String, com.googlecode.aviator.lexer.SymbolTable) ,public com.googlecode.aviator.runtime.type.AviatorObject add(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject bitAnd(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject bitNot(Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject bitOr(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject bitXor(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject defineValue(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject deref(Map<java.lang.String,java.lang.Object>) ,public java.lang.String desc(Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject div(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorType getAviatorType() ,public com.googlecode.aviator.runtime.type.AviatorObject getElement(Map<java.lang.String,java.lang.Object>, com.googlecode.aviator.runtime.type.AviatorObject) ,public java.lang.String getName() ,public static java.lang.Object getProperty(java.lang.String, java.lang.String[], Map<java.lang.String,java.lang.Object>, boolean, boolean) ,public java.lang.Object getValue(Map<java.lang.String,java.lang.Object>) ,public java.lang.Object getValueFromEnv(java.lang.String, boolean, Map<java.lang.String,java.lang.Object>, boolean) ,public static java.lang.Object getValueFromEnv(java.lang.String, boolean, java.lang.String[], Map<java.lang.String,java.lang.Object>, boolean, boolean) ,public int innerCompare(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject match(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject mod(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject mult(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject neg(Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject not(Map<java.lang.String,java.lang.Object>) ,public static java.lang.String reserveName(java.lang.String) ,public com.googlecode.aviator.runtime.type.AviatorObject setValue(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject shiftLeft(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject shiftRight(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.runtime.type.AviatorObject sub(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) ,public static java.lang.Object tryResolveAsClass(Map<java.lang.String,java.lang.Object>, java.lang.String) ,public com.googlecode.aviator.runtime.type.AviatorObject unsignedShiftRight(com.googlecode.aviator.runtime.type.AviatorObject, Map<java.lang.String,java.lang.Object>) <variables>private boolean containsDot,protected java.lang.String name,private static final long serialVersionUID,private java.lang.String[] subNames,private com.googlecode.aviator.lexer.SymbolTable symbolTable