Beispiel #1
0
  @Override
  public Object marshalValue(Env env, FeatureExpr ctx, Value value, Class argClass) {
    if (!value.isset()) {
      if (_isNotNull) {
        unexpectedNull(env, argClass);
      }

      return null;
    }

    Object obj = value.toJavaObject();

    if (obj == null) {
      if (_isNotNull) {
        unexpectedNull(env, argClass);
      }

      return null;
    } else if (!argClass.isAssignableFrom(obj.getClass())) {
      // env.error(L.l("Can't assign {0} to {1}", obj, argClass));
      unexpectedType(env, value, obj.getClass(), argClass);
      return null;
    }

    return obj;
  }
  public BinaryStream fopen(Env env, StringValue path, StringValue mode, LongValue options) {
    boolean useIncludePath = (options.toLong() & StreamModule.STREAM_USE_PATH) != 0;

    Value pathComponent = UrlModule.parse_url(env, path, UrlModule.PHP_URL_PATH);

    if (!pathComponent.isset()) {
      log.info(L.l("no path component found in '{0}'", path.toString()));
      return null;
    }

    return ZlibModule.gzopen(
        env, pathComponent.toStringValue(env), mode.toString(), useIncludePath);
  }