/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.component.recycle.maintain;
import java.util.List;
import com.jinhe.tss.component.recycle.entity.Recycle;
import com.jinhe.tss.core.persistence.IDao;
/**
* <p> IRecycleDao.java </p>
* <p>
* Recycle的Dao层的接口,负责所有Recycle相关的数据库操作接口
* </p>
*/
public interface RecycleDao extends IDao<Recycle> {
/**
* 回收指定表名和回收站垃圾记录ID的结点。
* 回收表中recycleId为同一垃圾记录ID的 所有记录
*
* @param tableName
* @param recycleId
*/
public void recoverByRecycleId(String tableName, Long recycleId);
/**
* 回收指定表名和结点ID的实体记录
*
* @param tableName
* @param nodeId
*/
public void recoverByEntityId(String tableName, Long nodeId);
/**
* 还原被删除节点的父结点
*
* @param tableName
* @param nodeId
*/
public void recoverParent(String tableName, Long nodeId);
/**
* 根据表名和结点ID取出父结点ID和回收站ID
*
* @param tableName
* @param id
* @return
*/
public List<?> getParentNodes(String tableName, Long id);
/**
* 根据表名和回收站ID取结点
*
* @param tableName
* @param recycleId
* @return
*/
public List<?> getNodesByRecycleId(String tableName, Long recycleId);
/**
* 取得所有的回收站记录。
* 如果该类型的实体是需要过滤权限信息的(根据是否有<pemission roleresourceoperation=""/>来判断),
* 则根据配置的删除操作operationId来进行权限过滤。也就是说如果当前登陆用户对某一垃圾信息对应的实体没有
* 删除权限的话就看不到该垃圾信息,也就无法进行物理删除或还原操作。
*
* @param typeCode 垃圾类型
* @return
*/
public List<?> getRecycleList(Integer typeCode);
}