Package br.com.ingenieux.cloudy.data.util

Source Code of br.com.ingenieux.cloudy.data.util.DaoProvider

package br.com.ingenieux.cloudy.data.util;

import javax.persistence.EntityManager;

import net.sf.cglib.proxy.Proxy;

import br.com.ingenieux.cloudy.data.spi.DaoInvocationHandler;

import com.google.inject.Provider;

public class DaoProvider<K> implements Provider<K> {
    private final Class<K> daoClazz;
   
    private EntityManager entityManager;

    public DaoProvider(final Class<K> daoClazz, EntityManager entityManager) {
        this(daoClazz);
        this.entityManager = entityManager;
    }
   
    public DaoProvider(final Class<K> daoClazz) {
        this.daoClazz = daoClazz;
    }
   
    @SuppressWarnings("unchecked")
    @Override
    public K get() {
        return (K) Proxy.newProxyInstance(daoClazz.getClassLoader(), new Class<?>[] { daoClazz }, new DaoInvocationHandler(daoClazz, entityManager));
    }
}
TOP

Related Classes of br.com.ingenieux.cloudy.data.util.DaoProvider

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.