⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 javaadapter.java

📁 RESIN 3.2 最新源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  /**   * The each iterator   */  public Value each()  {    throw new UnsupportedOperationException();  }  /**   * Returns the first value.   */  public Value reset()  {    throw new UnsupportedOperationException();  }  /**   * Returns the last value.   */  public Value end()  {    throw new UnsupportedOperationException();  }  /**   * Returns the corresponding key if this array contains the given value   *   * @param value  the value to search for in the array   *   * @return the key if it is found in the array, NULL otherwise   *   * @throws NullPointerException   */  public Value contains(Value value)  {    for (Map.Entry<Value,Value> entry : entrySet()) {      if (entry.getValue().equals(value))        return entry.getKey();    }    return NullValue.NULL;  }  /**   * Returns the corresponding key if this array contains the given value   *   * @param value  the value to search for in the array   *   * @return the key if it is found in the array, NULL otherwise   *   * @throws NullPointerException   */  public Value containsStrict(Value value)  {    throw new UnsupportedOperationException();  }  /**   * Returns the corresponding valeu if this array contains the given key   *   * @param key  the key to search for in the array   *   * @return the value if it is found in the array, NULL otherwise   *   * @throws NullPointerException   */  public Value containsKey(Value key)  {    throw new UnsupportedOperationException(getClass().getName());  }  /**   * Returns an object array of this array.  This is a copy of this object's   * backing structure.  Null elements are not included.   *   * @return an object array of this array   */  public Map.Entry<Value, Value>[] toEntryArray()  {    throw new UnsupportedOperationException();  }  /**   * Sorts this array based using the passed Comparator   *   * @param comparator the comparator for sorting the array   * @param resetKeys  true if the keys should not be preserved   * @param strict  true if alphabetic keys should not be preserved   */  public void sort(Comparator<Map.Entry<Value, Value>> comparator,                   boolean resetKeys, boolean strict)  {    Map.Entry<Value,Value>[] entries = new Map.Entry[getSize()];    int i = 0;    for (Map.Entry<Value,Value> entry : entrySet()) {      entries[i++] = entry;    }    Arrays.sort(entries, comparator);    clear();    long base = 0;    if (! resetKeys)      strict = false;    for (int j = 0; j < entries.length; j++) {      Value key = entries[j].getKey();      if (resetKeys && (! (key instanceof StringValue) || strict))        put(LongValue.create(base++), entries[j].getValue());      else        put(entries[j].getKey(), entries[j].getValue());    }  }  /**   * Serializes the value.   */  public void serialize(StringBuilder sb)  {    throw new UnsupportedOperationException();  }  /**   * Exports the value.   */  public void varExport(StringBuilder sb)  {    throw new UnsupportedOperationException();  }  /**   * Resets all numerical keys with the first index as base   *   * @param base  the initial index   * @param strict  if true, string keys are also reset   */  public boolean keyReset(long base, boolean strict)  {    throw new UnsupportedOperationException();  }  /**   * Takes the values of this array and puts them in a java array   */  public Value[] valuesToArray()  {    Value[] values = new Value[getSize()];        int i = 0;        for (Map.Entry<Value,Value> entry : entrySet()) {      values[i++] = entry.getValue();    }        return values;  }  /**   * Takes the values of this array, unmarshalls them to objects of type   * <i>elementType</i>, and puts them in a java array.   */  @Override  public Object valuesToArray(Env env, Class elementType)  {    int size = getSize();    Object array = Array.newInstance(elementType, size);    MarshalFactory factory = env.getModuleContext().getMarshalFactory();    Marshal elementMarshal = factory.create(elementType);    int i = 0;    for (Map.Entry<Value, Value> entry : entrySet()) {      Array.set(array, i++, elementMarshal.marshal(env,                                                   entry.getValue(),                                                   elementType));    }    return array;  }    @Override  public Value getField(Env env, StringValue name)  {    return _classDef.getField(env, this, name);  }  @Override  public Value putField(Env env,                        StringValue name,                        Value value)  {    return _classDef.putField(env, this, name, value);  }  /**   * Returns the class name.   */  public String getName()  {    return _classDef.getName();  }    public boolean isA(String name)  {    return _classDef.isA(name);  }  /**   * Returns the method.   */  public AbstractFunction findFunction(String methodName)  {    return _classDef.findFunction(methodName);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env,                          int hash, char []name, int nameLen,                          Expr []args)  {    return _classDef.callMethod(env, this, hash, name, nameLen, args);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen,                          Value []args)  {    return _classDef.callMethod(env, this,                                hash, name, nameLen,                                args);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen)  {    return _classDef.callMethod(env, this, hash, name, nameLen);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen,                          Value a1)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen,                          Value a1, Value a2)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen,                          Value a1, Value a2, Value a3)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2, a3);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen,                          Value a1, Value a2, Value a3, Value a4)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2, a3, a4);  }  /**   * Evaluates a method.   */  @Override  public Value callMethod(Env env, int hash, char []name, int nameLen,                          Value a1, Value a2, Value a3, Value a4, Value a5)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2, a3, a4, a5);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env,                             int hash, char []name, int nameLen,                             Expr []args)  {    return _classDef.callMethod(env, this, hash, name, nameLen, args);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env,                             int hash, char []name, int nameLen,                             Value []args)  {    return _classDef.callMethod(env, this, hash, name, nameLen, args);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env, int hash, char []name, int nameLen)  {    return _classDef.callMethod(env, this, hash, name, nameLen);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env,                             int hash, char []name, int nameLen,                             Value a1)  {    return _classDef.callMethod(env, this,                                hash, name, nameLen,                                a1);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env, int hash, char []name, int nameLen,                             Value a1, Value a2)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env, int hash, char []name, int nameLen,                             Value a1, Value a2, Value a3)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2, a3);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env, int hash, char []name, int nameLen,                             Value a1, Value a2, Value a3, Value a4)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2, a3, a4);  }  /**   * Evaluates a method.   */  @Override  public Value callMethodRef(Env env, int hash, char []name, int nameLen,                             Value a1, Value a2, Value a3, Value a4, Value a5)  {    return _classDef.callMethod(env, this, hash, name, nameLen,                                a1, a2, a3, a4, a5);  }    @Override  public void varDumpImpl(Env env,                          WriteStream out,                          int depth,                          IdentityHashMap<Value, String> valueSet)    throws IOException  {    out.println("array(" + getSize() + ") {");    int nestedDepth = depth + 1;    for (Map.Entry<Value,Value> mapEntry : entrySet()) {      printDepth(out, nestedDepth * 2);      out.print("[");      Value key = mapEntry.getKey();            if (key.isString())        out.print("\"" + key + "\"");      else        out.print(key);      out.println("]=>");      printDepth(out, nestedDepth * 2);            if (_refs != null && _refs.get(key) != null)        out.print('&');            mapEntry.getValue().varDump(env, out, nestedDepth, valueSet);      out.println();    }    printDepth(out, 2 * depth);    out.print("}");  }  @Override  protected void printRImpl(Env env,                            WriteStream out,                            int depth,                            IdentityHashMap<Value, String> valueSet)    throws IOException  {    out.println("Array");    printDepth(out, 8 * depth);    out.println("(");        for (Map.Entry<Value,Value> mapEntry : entrySet()) {      printDepth(out, 8 * depth);      out.print("    [");      out.print(mapEntry.getKey());      out.print("] => ");      Value value = mapEntry.getValue();      if (value != null)        value.printR(env, out, depth + 1, valueSet);      out.println();    }    printDepth(out, 8 * depth);    out.println(")");  }    //  // Java Serialization  //    private void writeObject(ObjectOutputStream out)    throws IOException  {    out.writeObject(_object);    out.writeObject(_classDef.getName());  }    private void readObject(ObjectInputStream in)    throws ClassNotFoundException, IOException  {    _envRef = new WeakReference<Env>(Env.getInstance());        _object = in.readObject();    _classDef = getEnv().getJavaClassDefinition((String) in.readObject());  }    /**   * Converts to a string.   */  public String toString()  {    return String.valueOf(_object);  }    public class KeySet extends AbstractSet<Value> {    Env _env;        KeySet(Env env)    {      _env = env;    }    @Override    public int size()    {      return getSize();    }    @Override    public Iterator<Value> iterator()    {      return getKeyIterator(_env);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -