package org.zarroboogs.weibo.greendao.dao;

import android.database.sqlite.SQLiteDatabase;

import java.util.Map;

import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.AbstractDaoSession;
import de.greenrobot.dao.identityscope.IdentityScopeType;
import de.greenrobot.dao.internal.DaoConfig;

import org.zarroboogs.weibo.greendao.bean.Green_AccountBean;
import org.zarroboogs.weibo.greendao.bean.Green_AtUsersBean;
import org.zarroboogs.weibo.greendao.bean.Green_TimeLineStatus;

import org.zarroboogs.weibo.greendao.dao.Green_AccountBeanDao;
import org.zarroboogs.weibo.greendao.dao.Green_AtUsersBeanDao;
import org.zarroboogs.weibo.greendao.dao.Green_TimeLineStatusDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 *
 * @see de.greenrobot.dao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig green_AccountBeanDaoConfig;
    private final DaoConfig green_AtUsersBeanDaoConfig;
    private final DaoConfig green_TimeLineStatusDaoConfig;

    private final Green_AccountBeanDao green_AccountBeanDao;
    private final Green_AtUsersBeanDao green_AtUsersBeanDao;
    private final Green_TimeLineStatusDao green_TimeLineStatusDao;

    public DaoSession(SQLiteDatabase db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        green_AccountBeanDaoConfig = daoConfigMap.get(Green_AccountBeanDao.class).clone();
        green_AccountBeanDaoConfig.initIdentityScope(type);

        green_AtUsersBeanDaoConfig = daoConfigMap.get(Green_AtUsersBeanDao.class).clone();
        green_AtUsersBeanDaoConfig.initIdentityScope(type);

        green_TimeLineStatusDaoConfig = daoConfigMap.get(Green_TimeLineStatusDao.class).clone();
        green_TimeLineStatusDaoConfig.initIdentityScope(type);

        green_AccountBeanDao = new Green_AccountBeanDao(green_AccountBeanDaoConfig, this);
        green_AtUsersBeanDao = new Green_AtUsersBeanDao(green_AtUsersBeanDaoConfig, this);
        green_TimeLineStatusDao = new Green_TimeLineStatusDao(green_TimeLineStatusDaoConfig, this);

        registerDao(Green_AccountBean.class, green_AccountBeanDao);
        registerDao(Green_AtUsersBean.class, green_AtUsersBeanDao);
        registerDao(Green_TimeLineStatus.class, green_TimeLineStatusDao);
    }

    public void clear() {
        green_AccountBeanDaoConfig.getIdentityScope().clear();
        green_AtUsersBeanDaoConfig.getIdentityScope().clear();
        green_TimeLineStatusDaoConfig.getIdentityScope().clear();
    }

    public Green_AccountBeanDao getGreen_AccountBeanDao() {
        return green_AccountBeanDao;
    }

    public Green_AtUsersBeanDao getGreen_AtUsersBeanDao() {
        return green_AtUsersBeanDao;
    }

    public Green_TimeLineStatusDao getGreen_TimeLineStatusDao() {
        return green_TimeLineStatusDao;
    }

}
