/* ================================================================== * 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.portal.dao; import java.util.List; import com.jinhe.tss.component.support.persistence.ITreeSupportDao; import com.jinhe.tss.portal.entity.ElementGroup; import com.jinhe.tss.portal.helper.IElement; /** * 对元素(修饰器/布局器/Portlet)数据存取操作的DAO接口 */ public interface IElementDao extends ITreeSupportDao<ElementGroup>{ /** * 保存一个元素(修饰器/布局器/Portlet)。 * 注意:本方法将会拦截以实现资源注册,所以普通保存应该直接调用save方法。 * @param obj * @return */ IElement saveElement(IElement obj); /** * 删除一个元素(修饰器/布局器/Portlet) * 删除注册资源由拦截器ResourcePermissionInterceptor完成。 * @param obj * @return */ IElement deleteElement(IElement obj); /** * 将元素(修饰器/布局器/Portlet)移动到指定组下。<br/> * 本方法是为了资源权限补齐拦截器ResourcePermissionInterceptor能拦截到门户结构的移动保存操作, * 从而可以对移动的资源根据新的父节点进行权限补齐处理。 * @param id * @param groupId * @return */ IElement moveTo(IElement element); /***************************************************************************************************************** ************************************ 以下是对元素(修饰器/布局器/Portlet)组的操作 ************************************* *****************************************************************************************************************/ /** * 保存一个组。 * 注意:本方法将会拦截以实现资源注册,所以普通保存应该直接调用save方法。 * @param group * @return */ ElementGroup saveGroup(ElementGroup group); /** * 删除一个组(配置了回收站的话本方法将被拦截,代之执行回收站中配置的执行方法) * @param group * @return */ void deleteGroup(ElementGroup group); /** * 获取所有儿子节点 * @param id * @return */ List<ElementGroup> getChildrenById(Long id); /** * 获取组以及子组下所有的元素,获取portlet用于复制的时候需要根据查看操作进行过滤 * @param groupId * @return */ List<?> getAllElementsByGroup(Long groupId); /** * 只获取当前组下的元素,不包括子组下的元素。 * @param groupId * @return */ List<?> getElementsByGroup( Long groupId ); }