Package com.caucho.quercus.function

Examples of com.caucho.quercus.function.AbstractFunction


  }

  public boolean mkdir(Env env,
                       StringValue path, LongValue mode, LongValue options)
  {
    AbstractFunction function = _qClass.getStaticFunction("mkdir");

    if (function == null)
      return false;

    return function.call(env, path, mode, options).toBoolean();
  }
View Full Code Here


    return function.call(env, path, mode, options).toBoolean();
  }

  public boolean rmdir(Env env, StringValue path, LongValue options)
  {
    AbstractFunction function = _qClass.getStaticFunction("rmdir");

    if (function == null)
      return false;

    return function.call(env, path, options).toBoolean();
  }
View Full Code Here

    return function.call(env, path, options).toBoolean();
  }

  public Value url_stat(Env env, StringValue path, LongValue flags)
  {
    AbstractFunction function = _qClass.getStaticFunction("url_stat");

    if (function == null)
      return BooleanValue.FALSE;

    return function.call(env, path, flags);
  }
View Full Code Here

      env.warning("Wrong parameter count for array_diff()");

      return NullValue.NULL;
    }

    AbstractFunction func =
      env.findFunction(arrays[arrays.length - 1].toString().intern());

    if (func == null) {
      env.warning("Invalid comparison function");

      return NullValue.NULL;
    }

    ArrayValue diffArray = new ArrayValueImpl();

    for (Map.Entry<Value, Value> entry : array.entrySet()) {
      boolean ValueFound = false;

      Value entryValue = entry.getValue();

      Value entryKey = entry.getKey();

      for (int k = 0; k < arrays.length - 1 && ! ValueFound; k++) {
        if (! (arrays[k] instanceof ArrayValue)) {
          env.warning("Argument #" + (k + 2) + " is not an array");

          return NullValue.NULL;
        }

        Value searchKey = ((ArrayValue) arrays[k]).contains(entryValue);

        if (! searchKey.isNull())
          ValueFound = ((int) func.call(env, searchKey, entryKey).toLong()) ==
                       0;
      }

      if (! ValueFound)
        diffArray.put(entryKey, entryValue);
View Full Code Here

      env.warning("Wrong parameter count for array_diff()");

      return NullValue.NULL;
    }

    AbstractFunction func =
      env.findFunction(arrays[arrays.length - 1].toString().intern());

    if (func == null) {
      env.warning("Invalid comparison function");

      return NullValue.NULL;
    }

    ArrayValue diffArray = new ArrayValueImpl();

    for (Map.Entry<Value, Value> entry : array.entrySet()) {
      boolean keyFound = false;

      Value entryKey = entry.getKey();

      for (int k = 0; k < arrays.length - 1 && ! keyFound; k++) {
        if (! (arrays[k] instanceof ArrayValue)) {
          env.warning("Argument #" + (k + 2) + " is not an array");

          return NullValue.NULL;
        }

        Iterator<Value> keyItr = ((ArrayValue) arrays[k]).keySet().iterator();

        keyFound = false;

        while (keyItr.hasNext() && ! keyFound) {
          Value currentKey = keyItr.next();

          keyFound = ((int) func.call(env, entryKey, currentKey).toLong()) == 0;
        }
      }

      if (! keyFound)
        diffArray.put(entryKey, entry.getValue());
View Full Code Here

      env.warning("Wrong parameter count for array_diff()");

      return NullValue.NULL;
    }

    AbstractFunction func =
      env.findFunction(arrays[arrays.length - 1].toString().intern());

    if (func == null) {
      env.warning("Invalid comparison function");

      return NullValue.NULL;
    }

    ArrayValue interArray = new ArrayValueImpl();

    for (Map.Entry<Value, Value> entry : array.entrySet()) {
      boolean valueFound = false;

      Value entryKey = entry.getKey();

      Value entryValue = entry.getValue();

      for (int k = 0; k < arrays.length - 1; k++) {
        if (! (arrays[k] instanceof ArrayValue)) {
          env.warning("Argument #" + (k + 2) + " is not an array");

          return NullValue.NULL;
        }

        if (k > 0 && ! valueFound)
          break;

        Value searchValue = ((ArrayValue) arrays[k]).containsKey(entryKey);

        if (searchValue != null)
          valueFound = func.call(env, searchValue, entryValue).toLong() == 0;
        else
          valueFound = false;
      }

      if (valueFound)
View Full Code Here

      env.warning("Wrong parameter count for array_diff()");

      return NullValue.NULL;
    }

    AbstractFunction func =
      env.findFunction(arrays[arrays.length - 1].toString().intern());

    if (func == null) {
      env.warning("Invalid comparison function");

      return NullValue.NULL;
    }

    ArrayValue interArray = new ArrayValueImpl();

    for (Map.Entry<Value, Value> entry : array.entrySet()) {
      boolean keyFound = false;

      Value entryKey = entry.getKey();

      for (int k = 0; k < arrays.length - 1; k++) {
        if (! (arrays[k] instanceof ArrayValue)) {
          env.warning("Argument #" + (k + 2) + " is not an array");

          return NullValue.NULL;
        }

        if (k > 0 && ! keyFound)
          break;

        Iterator<Value> keyItr = ((ArrayValue) arrays[k]).keySet().iterator();

        keyFound = false;

        while (keyItr.hasNext() && ! keyFound) {
          Value currentKey = keyItr.next();

          keyFound = ((int) func.call(env, entryKey, currentKey).toLong()) == 0;
        }

      }

      if (keyFound)
View Full Code Here

  public static Value create_function(Env env,
                                      String args,
                                      String code)
  {
    try {
      AbstractFunction fun = env.createAnonymousFunction(args, code);
     
      return new CallbackFunction(fun, fun.getName());
    } catch (IOException e) {
      env.warning(e.getMessage());

      return BooleanValue.FALSE;
    }
View Full Code Here

    QuercusClass cl = env.findClass(_className);

    if (cl == null)
      throw env.createErrorException(L.l("{0} is an unknown class", _className));

    AbstractFunction fun = cl.getFunction(_name);
   
    Value []values = evalArgs(env, _args);

    Value qThis = env.getThis();
    env.pushCall(this, qThis, values);
View Full Code Here

  /**
   * Returns the function with the given name.
   */
  public AbstractFunction findFunction(String name)
  {
    AbstractFunction fun = _funMap.get(name);

    if ((fun == null) && ! isStrict())
      fun = _lowerFunMap.get(name.toLowerCase());

    return fun;
View Full Code Here

TOP

Related Classes of com.caucho.quercus.function.AbstractFunction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.