Package org.nutz.aop

Examples of org.nutz.aop.ClassAgent.define()


    Class<? extends Moose> c = ca.define(cd, Moose.class);
    Moose m = c.newInstance();
    m.doSomething(BEH.run);
    assertEquals("[2, 2, 0, 0]", Json.toJson(cc));

    Class<? extends Moose> c2 = ca2.define(cd, Moose.class);
    assertEquals(c, c2);
    m = c.newInstance();
    m.doSomething(BEH.run);
    assertEquals("[4, 4, 0, 0]", Json.toJson(cc));
  }
View Full Code Here


  public void test_return_array_method() {
    int[] cc = new int[4];
    Arrays.fill(cc, 0);
    ClassAgent aca = getNewClassAgent();
    aca.addInterceptor(MethodMatcherFactory.matcher("returnArrayMethod"), new MethodCounter(cc));
    Class<? extends Buffalo> c = aca.define(Nutzs.cd(), Buffalo.class);// RA.class;
    Buffalo r = Mirror.me(c).born();
    String[] ss = r.returnArrayMethod();
    assertEquals("[1, 1, 0, 0]", Json.toJson(cc));
    assertEquals(3, ss.length);
  }
View Full Code Here

    Arrays.fill(crun, 0);
    ClassAgent aca = getNewClassAgent();
    aca.addInterceptor(MethodMatcherFactory.matcher("run"), new MethodCounter(crun));
    aca.addInterceptor(MethodMatcherFactory.matcher(".*"), new MethodCounter(cc));
    aca.addInterceptor(MethodMatcherFactory.matcher("doSomething"), new RhinocerosListener());
    Class<? extends Rhinoceros> c = aca.define(Nutzs.cd(), Rhinoceros.class);// RA.class;
    Rhinoceros r = Mirror.me(c).born();
    r.doSomething(BEH.run);
    r.doSomething(BEH.fight);
    try {
      r.doSomething(BEH.lecture);
View Full Code Here

    Arrays.fill(cpub, 0);
    Arrays.fill(cpro, 0);
    ClassAgent aca = getNewClassAgent();
    aca.addInterceptor(MethodMatcherFactory.matcher(PUBLIC), new MethodCounter(cpub));
    aca.addInterceptor(MethodMatcherFactory.matcher(PROTECTED), new MethodCounter(cpro));
    Class<? extends Hippo> c = aca.define(Nutzs.cd(), Hippo.class);// RA.class;
    Hippo r = Mirror.me(c).born();
    Vegetarians.run(r, 78);
    r.doSomething(BEH.run);
    try {
      r.doSomething(BEH.lecture);
View Full Code Here

  public static void main(String[] args) throws Throwable {

    ClassAgent agent = new AsmClassAgent();
    agent.addInterceptor(MethodMatcherFactory.matcher(".*"), new MyMethodInterceptor());
    Class<Aop1> classZ = agent.define(Nutzs.cd(), Aop1.class);
    System.out.println(classZ);
    Field[] fields = classZ.getDeclaredFields();
    for (Field field : fields) {
      System.out.println("找到一个Field: " + field);
    }
View Full Code Here

      return Mirror.me(type);
    ClassAgent agent = new AsmClassAgent();
    for (InterceptorPair interceptorPair : interceptorPairs)
      agent.addInterceptorinterceptorPair.getMethodMatcher(),
                  interceptorPair.getMethodInterceptor());
    return Mirror.me(agent.define(cd, type));
  }

  public void setAopConfigration(AopConfigration aopConfigration) {
    this.aopConfigration = aopConfigration;
  }
View Full Code Here

            // 生成Aop化的类
            ClassAgent agent = new AsmClassAgent();
            for (InterceptorPair interceptorPair : interceptorPairs)
                agent.addInterceptor(interceptorPair.getMethodMatcher(),
                        interceptorPair.getMethodInterceptor());
            Class lazyClass = agent.define(cd, type);

            // 检查对象的创建方法
            BornContext<T> bc = Borns.evalByArgTypes(type, ResultSet.class);
            if (null == bc)
                this.bornByDefault = Mirror.me(lazyClass)
View Full Code Here

        }
        ClassAgent agent = new AsmClassAgent();
        for (InterceptorPair interceptorPair : interceptorPairs)
            agent.addInterceptor(    interceptorPair.getMethodMatcher(),
                                    interceptorPair.getMethodInterceptor());
        return Mirror.me(agent.define(cd, type));
    }

    public void setAopConfigration(AopConfigration aopConfigration) {
        this.aopConfigration = aopConfigration;
    }
View Full Code Here

      }
      ClassAgent agent = new AsmClassAgent();
      for (InterceptorPair interceptorPair : interceptorPairs)
        agent.addInterceptor(interceptorPair.getMethodMatcher(),
                   interceptorPair.getMethodInterceptor());
      return Mirror.me(agent.define(cd, type));
    }

  }

  public void setAopConfigration(AopConfigration aopConfigration) {
View Full Code Here

        Class<? extends Moose> c = ca.define(cd, Moose.class);
        Moose m = c.newInstance();
        m.doSomething(BEH.run);
        assertEquals("[2, 2, 0, 0]", Json.toJson(cc));

        Class<? extends Moose> c2 = ca2.define(cd, Moose.class);
        assertEquals(c, c2);
        m = c.newInstance();
        m.doSomething(BEH.run);
        assertEquals("[4, 4, 0, 0]", Json.toJson(cc));
    }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.