@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name) { final Object wrapped = self.dataGetStruct(); final Class<?> javaClass; if ( wrapped != null ) { javaClass = ((JavaObject) wrapped).getJavaClass(); } else { javaClass = self.getClass(); // NOTE what is this for? } return JavaClass.get(context.runtime, javaClass); }
@Override public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name) { final Object wrapped = self.dataGetStruct(); final Class<?> javaClass; if ( wrapped != null ) { javaClass = ((JavaObject) wrapped).getJavaClass(); } else { javaClass = self.getClass(); // NOTE what is this for? } return JavaClass.get(context.runtime, javaClass); }
@JRubyMethod public IRubyObject marshal_dump(ThreadContext context) { if (Serializable.class.isAssignableFrom(getJavaClass())) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); new ObjectOutputStream(baos).writeObject(getValue()); return context.runtime.newString(new ByteList(baos.toByteArray(), false)); } catch (IOException ex) { throw context.runtime.newIOErrorFromException(ex); } } throw context.runtime.newTypeError("no marshal_dump is defined for class " + getJavaClass()); }
@JRubyMethod public IRubyObject marshal_dump(ThreadContext context) { if (Serializable.class.isAssignableFrom(getJavaClass())) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); new ObjectOutputStream(baos).writeObject(getValue()); return context.runtime.newString(new ByteList(baos.toByteArray(), false)); } catch (IOException ex) { throw context.runtime.newIOErrorFromException(ex); } } throw context.runtime.newTypeError("no marshal_dump is defined for class " + getJavaClass()); }
@JRubyMethod public RubyString java_type() { return getRuntime().newString(getJavaClass().getName()); }
@JRubyMethod public RubyString java_type() { return getRuntime().newString(getJavaClass().getName()); }
@JRubyMethod public RubyString java_type() { return getRuntime().newString(getJavaClass().getName()); }
@JRubyMethod public RubyString java_type() { return getRuntime().newString(getJavaClass().getName()); }
@JRubyMethod public JavaClass java_class() { return JavaClass.get(getRuntime(), getJavaClass()); }
@JRubyMethod public IRubyObject marshal_dump() { if (Serializable.class.isAssignableFrom(getJavaClass())) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(getValue()); return getRuntime().newString(new ByteList(baos.toByteArray())); } catch (IOException ioe) { throw getRuntime().newIOErrorFromException(ioe); } } else { throw getRuntime().newTypeError("no marshal_dump is defined for class " + getJavaClass()); } }
@JRubyMethod public IRubyObject java_class() { return JavaClass.get(getRuntime(), getJavaClass()); }
@JRubyMethod public IRubyObject marshal_dump() { if (Serializable.class.isAssignableFrom(getJavaClass())) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(getValue()); return getRuntime().newString(new ByteList(baos.toByteArray())); } catch (IOException ioe) { throw getRuntime().newIOErrorFromException(ioe); } } else { throw getRuntime().newTypeError("no marshal_dump is defined for class " + getJavaClass()); } }
@JRubyMethod public JavaClass java_class() { return JavaClass.get(getRuntime(), getJavaClass()); }
@JRubyMethod public IRubyObject java_class() { return JavaClass.get(getRuntime(), getJavaClass()); }