Package com.alibaba.dubbo.common.bytecode

Examples of com.alibaba.dubbo.common.bytecode.Wrapper


        return (T) Proxy.getProxy(interfaces).newInstance(new InvokerInvocationHandler(invoker));
    }

    public <T> Invoker<T> getInvoker(T proxy, Class<T> type, URL url) {
        // TODO Wrapper类不能正确处理带$的类名
        final Wrapper wrapper = Wrapper.getWrapper(proxy.getClass().getName().indexOf('$') < 0 ? proxy.getClass() : type);
        return new AbstractProxyInvoker<T>(proxy, type, url) {
            @Override
            protected Object doInvoke(T proxy, String methodName,
                                      Class<?>[] parameterTypes,
                                      Object[] arguments) throws Throwable {
                return wrapper.invokeMethod(proxy, methodName, parameterTypes, arguments);
            }
        };
    }
View Full Code Here


  public Object reply(ExchangeChannel channel, RpcMessage msg) throws RemotingException
  {
    String desc = msg.getMethodDesc();
    Object[] args = msg.getArguments();
    Object impl = mProvider.getImplementation(msg.getClassName());
    Wrapper wrap = Wrapper.getWrapper(impl.getClass());
    try
    {
      return new MockResult(wrap.invokeMethod(impl, desc, msg.getParameterTypes(), args));
    }
    catch(NoSuchMethodException e)
    {
      throw new RemotingException(channel, "Service method not found.");
    }
View Full Code Here

    {
      jb.valueNull();
    }
    else
    {
      Wrapper wrapper = Wrapper.getWrapper(obj.getClass());

      Object value;
      jb.objectBegin();
      for( String prop : properties )
      {
        jb.objectItem(prop);
        value = wrapper.getPropertyValue(obj, prop);
        if( value == null )
          jb.valueNull();
        else
          DEFAULT_CONVERTER.writeValue(value, jb, writeClass);
      }
View Full Code Here

    }
    else
    {
      jb.objectBegin();
     
      Wrapper w = Wrapper.getWrapper(c);
      String pns[] = w.getPropertyNames();

      for( String pn : pns )
      {
        if ((obj instanceof Throwable) && (
            "localizedMessage".equals(pn)
            || "cause".equals(pn)
            || "stackTrace".equals(pn))) {
          continue;
        }
       
        jb.objectItem(pn);

        Object value = w.getPropertyValue(obj,pn);
        if( value == null || value == obj)
          jb.valueNull();
        else
          writeValue(value, jb, writeClass);
      }
View Full Code Here

        return (T) Proxy.getProxy(interfaces).newInstance(new InvokerInvocationHandler(invoker));
    }

    public <T> Invoker<T> getInvoker(T proxy, Class<T> type, URL url) {
        // TODO Wrapper类不能正确处理带$的类名
        final Wrapper wrapper = Wrapper.getWrapper(proxy.getClass().getName().indexOf('$') < 0 ? proxy.getClass() : type);
        return new AbstractProxyInvoker<T>(proxy, type, url) {
            @Override
            protected Object doInvoke(T proxy, String methodName,
                                      Class<?>[] parameterTypes,
                                      Object[] arguments) throws Throwable {
                return wrapper.invokeMethod(proxy, methodName, parameterTypes, arguments);
            }
        };
    }
View Full Code Here

TOP

Related Classes of com.alibaba.dubbo.common.bytecode.Wrapper

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.