/** * Returns an object with properties that correspond to the fetched row and * moves the internal data pointer ahead. * * @param env the PHP executing environment * @return an object representing the current fetched row */ protected Value fetchObject(Env env, string className, Value[] args) { if (_rs == null) { return(NullValue.NULL); } try { if (_rs.next()) { _isValid = true; Value result; if (className != null) { QuercusClass cls = env.findClass(className); if (args == null) { args = Value.NULL_ARGS; } result = cls.callNew(env, args); } else { result = env.createObject(); } ResultSetMetaData md = getMetaData(); int count = md.getColumnCount(); for (int i = 0; i < count; i++) { string name = getColumnLabel(md, i + 1); Value value = getColumnValue(env, i + 1); result.putField(env, name, value); } return(result); } else { return(NullValue.NULL); } } catch (SQLException e) { log.log(Level.FINE, e.ToString(), e); return(NullValue.NULL); } }
/** * Evaluates the expression. * * @param env the calling environment. * * @return the expression value. */ public Value eval(Env env) { Value [] args = new Value[_args.length]; for (int i = 0; i < args.length; i++) { args[i] = _args[i].evalArg(env, true); } env.pushCall(this, NullValue.NULL, args); try { QuercusClass cl = env.getCallingClass(); env.checkTimeout(); return(cl.callNew(env, args)); } finally { env.popCall(); } }
public WrappedStream(Env env, QuercusClass qClass, StringValue path, StringValue mode, LongValue options) { _env = env; _lineReader = new LineReader(env); _wrapper = qClass.callNew(env, Value.NULL_ARGS); if (env.isUnicodeSemantics()) { _wrapper.callMethod(env, STREAM_OPEN_U, path, mode, options, NullValue.NULL); } else { _wrapper.callMethod(env, STREAM_OPEN, path, mode, options, NullValue.NULL); } }
/** * Evaluates the expression. * * @param env the calling environment. * * @return the expression value. */ public Value eval(Env env) { string name = _name.evalString(env).intern(); QuercusClass cl = env.findAbstractClass(name); _fullArgs = _args; Value [] args = new Value[_args.length]; for (int i = 0; i < args.length; i++) { args[i] = _args[i].eval(env); } env.pushCall(this, NullValue.NULL, args); try { env.checkTimeout(); return(cl.callNew(env, args)); } finally { env.popCall(); } }
public WrappedDirectory(Env env, QuercusClass qClass) : base() { _wrapper = qClass.callNew(env, Value.NULL_ARGS); }