Package net.sf.cglib.proxy

Examples of net.sf.cglib.proxy.Enhancer


  private ProxyDataObjectInstantiator() {
  }

  public <T> T newInstance(Class<T> classToInstantiate) {
    Enhancer enhancer = new Enhancer();
    enhancer.setSuperclass(classToInstantiate);
    enhancer.setCallback(NoOpInterceptor.INSTANCE);
    return (T) enhancer.create();
  }
View Full Code Here


  public <T> T newInstance(Class<T> classToInstantiate, Object[] args) {
    List<Class<?>> argTypes = new ArrayList<Class<?>>();
    for (Object arg : args) {
      argTypes.add(MappingUtils.getRealClass(arg.getClass()));
    }
    Enhancer enhancer = new Enhancer();
    enhancer.setSuperclass(classToInstantiate);
    enhancer.setCallback(NoOpInterceptor.INSTANCE);
    return (T) enhancer.create(argTypes.toArray(new Class[0]), args);
  }
View Full Code Here

    enhancer.setCallback(NoOpInterceptor.INSTANCE);
    return (T) enhancer.create(argTypes.toArray(new Class[0]), args);
  }

  public Object newInstance(Class<?>[] interfacesToProxy, final Object target) {
    Enhancer enhancer = new Enhancer();
    enhancer.setInterfaces(interfacesToProxy);
    enhancer.setCallback(new Dispatcher() {
      public Object loadObject() throws Exception {
        return target;
      }
    });
    return enhancer.create();
  }
View Full Code Here

            Object cached = channels.get(c);
            if (cached != null)
                return cached;
           
            ChannelInterceptor interceptor = new ChannelInterceptor((Channel) c, serviceStat);
            Enhancer e = new Enhancer();
            e.setSuperclass(c.getClass());
            e.setCallbackType(ChannelInterceptor.class);
            e.setUseFactory(false);

            Class mock = e.createClass();
            Enhancer.registerCallbacks(mock, new Callback[] { interceptor });
           
            try
            {
                cached = Sun14ReflectionProvider.newInstance(mock);
View Full Code Here

    @Override
    public void register(Transport transport)
    {
        TransportInterceptor interceptor = new TransportInterceptor(transport, serviceStat);
        Enhancer e = new Enhancer();
        e.setSuperclass(transport.getClass());
        e.setCallbackType(TransportInterceptor.class);
        e.setUseFactory(false);

        Class mock = e.createClass();
        Enhancer.registerCallbacks(mock, new Callback[] { interceptor });
       
        try
        {
            Object t = Sun14ReflectionProvider.newInstance(mock);
View Full Code Here

            environment.setConfigId(configId);
            ArtifactManager artifactManager = new DefaultArtifactManager();
            ArtifactResolver artifactResolver = new DefaultArtifactResolver(artifactManager, Collections.EMPTY_SET, null);
            SimpleConfigurationManager configurationManager = new SimpleConfigurationManager(Collections.EMPTY_SET, artifactResolver, Collections.EMPTY_SET);
            DeploymentContext context = new DeploymentContext(basedir, null, environment, null, ConfigurationModuleType.CAR, new Jsr77Naming(), configurationManager, Collections.EMPTY_SET);
            Enhancer enhancer = new Enhancer();
            enhancer.setInterfaces(new Class[]{DataSource.class});
            enhancer.setCallbackType(MethodInterceptor.class);
            enhancer.setStrategy(new DefaultGeneratorStrategy() {
                public byte[] transform(byte[] b) {
                    classBytes = b;
                    return b;
                }
            });
            enhancer.setClassLoader(new URLClassLoader(new URL[0], this.getClass().getClassLoader()));
            Class type = enhancer.createClass();
            URI location = new URI("cglib/");
            context.addClass(location, type.getName(), classBytes);
            ClassLoader cl = context.getClassLoader();
            Class loadedType = cl.loadClass(type.getName());
            assertTrue(DataSource.class.isAssignableFrom(loadedType));
View Full Code Here

            // create method interceptors
            Callback callback = new ServiceMethodInterceptor(seiPortNameToFactoryMap);
            this.methodInterceptors = new Callback[]{SerializableNoOp.INSTANCE, callback};
        
            // create service class
            Enhancer enhancer = new Enhancer();
            enhancer.setClassLoader(classLoader);
            enhancer.setSuperclass(ServiceImpl.class);
            enhancer.setInterfaces(new Class[]{serviceInterface});
            enhancer.setCallbackFilter(new NoOverrideCallbackFilter(Service.class));
            enhancer.setCallbackTypes(new Class[]{NoOp.class, MethodInterceptor.class});
            enhancer.setUseFactory(false);
            enhancer.setUseCache(false);
            this.enhancedServiceClass = enhancer.createClass();

            // get constructor
            this.serviceConstructor =
                FastClass.create(this.enhancedServiceClass).getConstructor(SERVICE_CONSTRUCTOR_TYPES);
        }
View Full Code Here

        }
        TypeInfo.register(typeInfo, typeMapping);
    }

    private Class enhanceServiceEndpointInterface(Class serviceEndpointInterface, ClassLoader classLoader) {
        Enhancer enhancer = new Enhancer();
        enhancer.setClassLoader(classLoader);
        enhancer.setSuperclass(GenericServiceEndpointWrapper.class);
        enhancer.setInterfaces(new Class[]{serviceEndpointInterface});
        enhancer.setCallbackFilter(new NoOverrideCallbackFilter(GenericServiceEndpointWrapper.class));
        enhancer.setCallbackTypes(new Class[]{NoOp.class, MethodInterceptor.class});
        enhancer.setUseFactory(false);
        enhancer.setUseCache(false);

        return enhancer.createClass();
    }
View Full Code Here

    }
    else
    {
      CGLibInterceptor handler = new CGLibInterceptor(type, locator);

      Enhancer e = new Enhancer();
      e.setInterfaces(new Class[] { Serializable.class, ILazyInitProxy.class,
          IWriteReplace.class });
      e.setSuperclass(type);
      e.setCallback(handler);
      e.setNamingPolicy(new DefaultNamingPolicy()
      {
        @Override
        public String getClassName(final String prefix, final String source,
          final Object key, final Predicate names)
        {
          return super.getClassName("WICKET_" + prefix, source, key, names);
        }
      });

      return e.create();
    }
  }
View Full Code Here

        basedir.mkdirs();
        try {
            basedir.deleteOnExit();
            URI configID = new URI("test");
            DeploymentContext context = new DeploymentContext(basedir, configID, ConfigurationModuleType.CAR, null, "foo", "bar", null);
            Enhancer enhancer = new Enhancer();
            enhancer.setInterfaces(new Class[]{DataSource.class});
            enhancer.setCallbackType(MethodInterceptor.class);
            enhancer.setStrategy(new DefaultGeneratorStrategy() {
                public byte[] transform(byte[] b) {
                    classBytes = b;
                    return b;
                }
            });
            enhancer.setClassLoader(new URLClassLoader(new URL[0], this.getClass().getClassLoader()));
            Class type = enhancer.createClass();
            URI location = new URI("cglib/");
            context.addClass(location, type.getName(), classBytes, true);
            ClassLoader cl = context.getClassLoader(null);
            Class loadedType = cl.loadClass(type.getName());
            assertTrue(DataSource.class.isAssignableFrom(loadedType));
View Full Code Here

TOP

Related Classes of net.sf.cglib.proxy.Enhancer

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.