Example #1
0
  /**
   * Impl of the Context.put() method.
   *
   * @param key name of item to set
   * @param value object to set to key
   * @return old stored object
   */
  public Object put(String key, Object value) {
    /*
     *  first see if this is a vmpa
     */

    VMProxyArg vmpa = (VMProxyArg) vmproxyhash.get(key);

    if (vmpa != null) {
      return vmpa.setObject(wrappedContext, value);
    } else {
      if (localcontextscope) {
        /*
         *  if we have localcontextscope mode, then just
         *  put in the local context
         */

        return localcontext.put(key, value);
      } else {
        /*
         *  ok, how about the local context?
         */

        if (localcontext.containsKey(key)) {
          return localcontext.put(key, value);
        } else {
          /*
           * otherwise, let them push it into the 'global' context
           */

          return innerContext.put(key, value);
        }
      }
    }
  }
Example #2
0
  /**
   * Used to put VMProxyArgs into this context. It separates the VMProxyArgs into constant and
   * non-constant types pulling out the value of the constant types so they can be modified w/o
   * damaging the VMProxyArg, and leaving the dynamic ones, as they modify context rather than their
   * own state
   *
   * @param vmpa VMProxyArg to add
   */
  public void addVMProxyArg(VMProxyArg vmpa) {
    /*
     *  ask if it's a constant : if so, get the value and put into the
     *  local context, otherwise, put the vmpa in our vmproxyhash
     */

    String key = vmpa.getContextReference();

    if (vmpa.isConstant()) {
      localcontext.put(key, vmpa.getObject(wrappedContext));
    } else {
      vmproxyhash.put(key, vmpa);
    }
  }
Example #3
0
  /**
   * Impl of the Context.gut() method.
   *
   * @param key name of item to get
   * @return stored object or null
   */
  public Object get(String key) {
    /*
     * first, see if it's a VMPA
     */

    Object o = null;

    VMProxyArg vmpa = (VMProxyArg) vmproxyhash.get(key);

    if (vmpa != null) {
      o = vmpa.getObject(wrappedContext);
    } else {
      if (localcontextscope) {
        /*
         * if we have localcontextscope mode, then just
         * put in the local context
         */

        o = localcontext.get(key);
      } else {
        /*
         *  try the local context
         */

        o = localcontext.get(key);

        if (o == null) {
          /*
           * last chance
           */

          o = innerContext.get(key);
        }
      }
    }

    return o;
  }