NC6 基于元数据的持久化服务接口实现类

354 篇文章 102 订阅

基于元数据的持久化服务接口实现类:

package nc.md.persist.framework.imp;

import java.util.Collection;

import nc.md.data.access.NCObject;
import nc.md.data.criterion.QueryCondition;
import nc.md.model.MetaDataException;
import nc.md.persist.framework.IMDPersistenceQueryService;
import nc.md.persist.framework.IMDPersistenceService;
import nc.vo.pub.CircularlyAccessibleValueObject;

/**
* 基于元数据的持久化服务接口实现类
*/
public class MDPersistenceServiceImp implements IMDPersistenceService,
		IMDPersistenceQueryService {

	public String saveBill(Object billVO) throws MetaDataException {
		return (new MDBaseDAO()).saveBill(billVO, false);
	}

	public String[] saveBill(CircularlyAccessibleValueObject[] billVos)
			throws MetaDataException {
		return (new MDBaseDAO()).saveBill(billVos, false);
	}

	public String saveBillWithRealDelete(Object billVO)
			throws MetaDataException {
		return (new MDBaseDAO()).saveBill(billVO, true);
	}

	public String[] saveBillWithRealDelete(
			CircularlyAccessibleValueObject[] billVos) throws MetaDataException {
		return (new MDBaseDAO()).saveBill(billVos, true);
	}

	public String[] saveBillWithRealDelete(NCObject[] billVos)
			throws MetaDataException {
		return (new MDBaseDAO()).saveBill(billVos, true);
	}

	public String saveBillWithRealDelete(NCObject billVo)
			throws MetaDataException {
		String[] pks = (new MDBaseDAO()).saveBill(new NCObject[] { billVo },
				true);
		if (pks != null && pks.length > 0)
			return pks[0];
		return null;
	}

	public String[] saveBill(NCObject[] billVos) throws MetaDataException {
		return (new MDBaseDAO()).saveBill(billVos, false);
	}

	public String saveBill(NCObject billVo) throws MetaDataException {
		String[] pks = (new MDBaseDAO()).saveBill(new NCObject[] { billVo },
				false);
		if (pks != null && pks.length > 0)
			return pks[0];
		return null;
	}

	/**
	 * 删除单据
	 * 
	 * @param billVo
	 * @throws MetaDataException
	 */
	public void deleteBill(Object billVo) throws MetaDataException {
		(new MDBaseDAO()).deleteBill(billVo);
	}

	public NCObject queryBillOfNCObjectByPK(Class voClass, String billPK)
			throws MetaDataException {
		return (new MDBaseDAO())
				.queryBillOfNCObjectByPK(voClass, billPK, false);
	}

	@Override
	public NCObject queryBillOfNCObjectByPKWithDR(Class voClass, String billPK,
			boolean ignoreDrEqual1) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfNCObjectByPK(voClass, billPK,
				ignoreDrEqual1);
	}

	/**
	 * 根据PK查询单据,返回实际的VO
	 * 
	 * @param voClass
	 * @param billPK
	 * @param bLazyLoad
	 *            是否懒加载
	 * @return
	 * @throws MetaDataException
	 */
	public <T> T queryBillOfVOByPK(Class<T> voClass, String billPK,
			boolean bLazyLoad) throws MetaDataException {
		return (T) (new MDBaseDAO()).queryBillOfVOByPK(voClass, billPK,
				bLazyLoad);
	}

	public Collection queryBillOfVOByPKs(Class voClass, String[] billPKs,
			boolean bLazyLoad) throws MetaDataException {
		return (new MDBaseDAO())
				.queryBillOfVOByPKs(voClass, billPKs, bLazyLoad);
	}

	@Override
	public Object[] queryBillOfVOByPKsWithOrder(Class voClass,
			String[] billPKs, boolean lazyLoad) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByPKsWithOrder(voClass, billPKs,
				lazyLoad);
	}

	@Override
	public Object[] queryBillOfVOByPKsWithOrder(Class voClass,
			String[] billPKs, String[] subEntityName) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByPKsWithOrder(voClass, billPKs,
				subEntityName);
	}

	/**
	 * 提供面向模型的查询
	 * 
	 * @param session
	 * @param bLazyLoad
	 * @return
	 * @throws MetaDataException
	 */
	public Collection queryBillOfVOByCond(QueryCondition condition,
			boolean bLazyLoad) throws MetaDataException {
		return (new MDBaseDAO())
				.queryBillOfVOByCond(condition, bLazyLoad, null);
	}

	public Collection queryBillOfVOByCondWithOrder(QueryCondition condition,
			boolean bLazyLoad, String[] orderPaths) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByCond(condition, bLazyLoad,
				orderPaths);
	}

	/**
	 * @param voClass
	 *            主子表VO传主表VO类,一般VO直接传VO类
	 * @param whereCondStr
	 * @return
	 */
	public NCObject[] queryBillOfNCObjectByCond(Class voClass,
			String whereCondStr, boolean bLazyLoad) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfNCObjectByCond(voClass,
				whereCondStr, bLazyLoad, null);
	}

	/**
	 * 根据where条件查询单据,返回实际的VO集合(List)
	 * 
	 * @param voClass
	 * @param whereCondStr
	 * @param bLazyLoad
	 *            是否懒加载
	 * @return
	 * @throws MetaDataException
	 */
	public Collection queryBillOfVOByCond(Class voClass, String whereCondStr,
			boolean bLazyLoad) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByCond(voClass, whereCondStr,
				false, bLazyLoad, null);
	}

	public Collection queryBillOfVOByCond(Class voClass, String whereCondStr,
			boolean ignoreDrEqual1, boolean bLazyLoad) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByCond(voClass, whereCondStr,
				ignoreDrEqual1, bLazyLoad, null);
	}

	@Override
	public <E> Collection<E> queryBusiVOByCond(Class<E> voClass,
			String[] tableNames, String whereCondStr, boolean ignoreDrEqual1,
			boolean lazyLoad, String[] orderPaths) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByCond(voClass, tableNames,
				whereCondStr, ignoreDrEqual1, lazyLoad, orderPaths);
	}

	@Override
	public <E> Collection<E> queryBusiVOByFromAndCond(Class<E> voClass,
			String fromTableSql, String whereCondStr, boolean lazyLoad,
			String[] orderPaths) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByFromAndCond(voClass,
				fromTableSql, whereCondStr, lazyLoad, orderPaths);
	}

	@Override
	public Collection queryBillOfVOByCondWithOrder(Class voClass,
			String whereCondStr, boolean ignoreDrEqual1, boolean lazyLoad,
			String[] orderPaths) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByCond(voClass, whereCondStr,
				ignoreDrEqual1, lazyLoad, orderPaths);
	}

	@Override
	public Collection queryBillOfVOByCondWithOrder(Class voClass,
			String whereCondStr, boolean ignoreDrEqual1,
			String[] sunEntityPaths, String[] orderPaths)
			throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfVOByCond(voClass, whereCondStr,
				ignoreDrEqual1, sunEntityPaths, orderPaths);
	}

	public void deleteBill(NCObject ncObj) throws MetaDataException {
		(new MDBaseDAO()).deleteBill(new NCObject[] { ncObj });
	}

	public void deleteBill(NCObject[] ncObjs) throws MetaDataException {
		(new MDBaseDAO()).deleteBill(ncObjs);
	}

	/**
	 * 从数据库删除(真删)
	 * 
	 * @param billVo
	 * @throws MetaDataException
	 */
	public void deleteBillFromDB(Object billVo) throws MetaDataException {
		(new MDBaseDAO()).deleteBillFromDB(billVo);
	}

	/**
	 * 从数据库删除(真删)
	 * 
	 * @param billVos
	 * @throws MetaDataException
	 */
	public void deleteBillFromDB(CircularlyAccessibleValueObject[] billVos)
			throws MetaDataException {
		(new MDBaseDAO()).deleteBillFromDB(billVos);
	}

	/**
	 * 从数据库删除(真删)
	 * 
	 * @param billVos
	 * @throws MetaDataException
	 */
	public void deleteBillFromDB(NCObject[] billVos) throws MetaDataException {
		(new MDBaseDAO()).deleteBillFromDB(billVos);
	}

	/**
	 * 从数据库删除(真删)
	 * 
	 * @param billVos
	 * @throws MetaDataException
	 */
	public void deleteBillFromDB(NCObject billVo) throws MetaDataException {
		(new MDBaseDAO()).deleteBillFromDB(new NCObject[] { billVo });
	}

	@Override
	public NCObject[] queryBillOfNCObjectByCond(Class voClass,
			String whereCondStr, String[] filtAttrNames, boolean lazyLoad)
			throws MetaDataException {
		return new MDBaseDAO().queryBillOfVOByCond(voClass, whereCondStr,
				filtAttrNames, false, lazyLoad);
	}

	@Override
	public NCObject queryBillOfNCObjectByPK(Class voClass, String billPK,
			String[] filtAttrNames, boolean lazyLoad) throws MetaDataException {
		NCObject[] objs = (new MDBaseDAO()).queryBillOfNCObjectByPKs(voClass,
				new String[] { billPK }, filtAttrNames, lazyLoad);
		return objs == null || objs.length == 0 ? null : objs[0];
	}

	@Override
	public NCObject[] queryBillOfNCObjectByPKs(Class voClass, String[] billPKs,
			String[] filtAttrNames, boolean lazyLoad) throws MetaDataException {
		return (new MDBaseDAO()).queryBillOfNCObjectByPKs(voClass, billPKs,
				filtAttrNames, lazyLoad);
	}

	@Override
	public void deleteBillByPK(Class voClass, String pk)
			throws MetaDataException {
		new MDBaseDAO().deleteBillByPK(voClass, new String[] { pk });
	}

	@Override
	public void deleteBillByPK(Class voClass, String[] pks)
			throws MetaDataException {
		new MDBaseDAO().deleteBillByPK(voClass, pks);
	}

	@Override
	public void updateBillWithAttrs(NCObject[] billVos, String[] filtAttrNames)
			throws MetaDataException {
		new MDBaseDAO().updateBillWithAttrs(billVos, filtAttrNames);
	}

	@Override
	public void updateBillWithAttrs(Object[] billVo, String[] filtAttrNames)
			throws MetaDataException {
		if (billVo == null || billVo.length == 0) {
			return;
		}
		new MDBaseDAO().updateBillWithAttrs(MDPersistUtil.getNCObject(billVo),
				filtAttrNames);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值