Package net.sf.cglib.proxy

Examples of net.sf.cglib.proxy.Factory


            attsToPut.add(new ReplaceableAttribute(EntityManagerFactoryImpl.DTYPE, ai.getDiscriminatorValue(), true));
        }

        LazyInterceptor interceptor = null;
        if (o instanceof Factory) {
            Factory factory = (Factory) o;
            /*
             * for (Callback callback2 : factory.getCallbacks()) {
             * if(logger.isLoggable(Level.FINER)) logger.finer("callback=" +
             * callback2); if (callback2 instanceof LazyInterceptor) {
             * interceptor = (LazyInterceptor) callback2; } }
             */
            interceptor = (LazyInterceptor) factory.getCallback(0);
        }

        for (PersistentProperty field : ai.getPersistentProperties()) {
            Object ob = field.getProperty(o);

View Full Code Here


        return lastOpStats;
    }

    public static <T> void replaceEntityManager(T newInstance, EntityManagerSimpleJPA em) {
        if (newInstance instanceof Factory) {
            Factory factory = (Factory) newInstance;
            LazyInterceptor interceptor = (LazyInterceptor) factory.getCallback(0);
            interceptor.setEntityManager(em);
        }
    }
View Full Code Here

    }

    @SuppressWarnings("unchecked")
    public T createSearchEntity(MethodInterceptor interceptor) {
        T entity = (T)_searchEnhancer.create();
        final Factory factory = (Factory)entity;
        factory.setCallback(0, interceptor);
        return entity;
    }
View Full Code Here

        return true;
    }

    @DB()
    public static <T> UpdateBuilder getUpdateBuilder(final T entityObject) {
        final Factory factory = (Factory)entityObject;
        assert (factory != null);
        return (UpdateBuilder)factory.getCallback(1);
    }
View Full Code Here

  public static <T> Selector<T> using(T selector) {
    if (!isEnhanced(selector)) {
      throw new RuntimeException("The specified object is not a selector.");
    }
    // CGLib applies the Factory interface to all enhanced proxies
    Factory factory = as(selector, Factory.class);
    SelectorMethodInterceptor interceptor = as(factory.getCallback(0), SelectorMethodInterceptor.class);
    interceptor.reset();
    return new Selector<T>(interceptor);
  }
View Full Code Here

    return enhancedInstance;
  }

  protected final static <T> boolean isEnhanced(T selector) {
    Factory factory = as(selector, Factory.class);
    if (factory != null) {
      Callback callback = factory.getCallback(0);
      SelectorMethodInterceptor selectorInterceptor = as(callback, SelectorMethodInterceptor.class);
      return selectorInterceptor != null;
    }
    return false;
  }
View Full Code Here

  }

  @Override
  public Object createInstance(final Class<?> proxyClass,
      final Callback callback) {
    Factory proxy = (Factory) objenesis.newInstance(proxyClass);
    proxy.setCallback(0, new MethodInterceptorImplementation(callback));
    return proxy;
  }
View Full Code Here

        this.instanceCreator = instanceCreator;
    }

    public <T> T proxify(Class<T> type, MethodInvocation<? super T> handler) {
        Class<?> proxyClass = enhanceTypeWithCGLib(type, handler).createClass();
        Factory proxyInstance = (Factory) instanceCreator.instanceFor(proxyClass);
        proxyInstance.setCallbacks(new Callback[] { cglibMethodInterceptor(handler), NoOp.INSTANCE });

        logger.debug("a proxy for {} is created as {}", type, proxyClass);

        return type.cast(proxyInstance);
    }
View Full Code Here

        @Override
        protected void filterConstructors(Class sc, List constructors) { }
    }

    private Object createProxy(Class<?> proxyClass, Callback callback) {
        Factory proxy = (Factory) objenesis.newInstance(proxyClass);
        proxy.setCallbacks(new Callback[] {callback, NoOp.INSTANCE});
        return proxy;
    }
View Full Code Here

    public <T> T createInstance(final Class<T> aClass, final Callback invocationHandler) {
        Callback[] callbacks = {invocationHandler, NoOp.INSTANCE};
        ObjectInstantiator instantiator = get(aClass, callbacks);
        Object instance = instantiator.newInstance();
        Factory factory = (Factory) instance;
        factory.setCallbacks(callbacks);
        return aClass.cast(instance);
    }
View Full Code Here

TOP

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

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.