1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portlet.documentlibrary.service;
21  
22  import com.liferay.portal.PortalException;
23  import com.liferay.portal.SystemException;
24  import com.liferay.portal.kernel.annotation.Isolation;
25  import com.liferay.portal.kernel.annotation.Propagation;
26  import com.liferay.portal.kernel.annotation.Transactional;
27  
28  /**
29   * <a href="DLFolderService.java.html"><b><i>View Source</i></b></a>
30   *
31   * <p>
32   * ServiceBuilder generated this class. Modifications in this class will be
33   * overwritten the next time is generated.
34   * </p>
35   *
36   * <p>
37   * This interface defines the service. The default implementation is
38   * <code>com.liferay.portlet.documentlibrary.service.impl.DLFolderServiceImpl</code>.
39   * Modify methods in that class and rerun ServiceBuilder to populate this class
40   * and all other generated classes.
41   * </p>
42   *
43   * <p>
44   * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
45   * </p>
46   *
47   * @author Brian Wing Shun Chan
48   *
49   * @see com.liferay.portlet.documentlibrary.service.DLFolderServiceUtil
50   *
51   */
52  @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
53      PortalException.class, SystemException.class})
54  public interface DLFolderService {
55      public com.liferay.portlet.documentlibrary.model.DLFolder addFolder(
56          long groupId, long parentFolderId, java.lang.String name,
57          java.lang.String description,
58          com.liferay.portal.service.ServiceContext serviceContext)
59          throws com.liferay.portal.PortalException,
60              com.liferay.portal.SystemException;
61  
62      public com.liferay.portlet.documentlibrary.model.DLFolder copyFolder(
63          long groupId, long sourceFolderId, long parentFolderId,
64          java.lang.String name, java.lang.String description,
65          com.liferay.portal.service.ServiceContext serviceContext)
66          throws com.liferay.portal.PortalException,
67              com.liferay.portal.SystemException, java.rmi.RemoteException;
68  
69      public void deleteFolder(long folderId)
70          throws com.liferay.portal.PortalException,
71              com.liferay.portal.SystemException, java.rmi.RemoteException;
72  
73      public void deleteFolder(long groupId, long parentFolderId,
74          java.lang.String name)
75          throws com.liferay.portal.PortalException,
76              com.liferay.portal.SystemException, java.rmi.RemoteException;
77  
78      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
79      public com.liferay.portlet.documentlibrary.model.DLFolder getFolder(
80          long folderId)
81          throws com.liferay.portal.PortalException,
82              com.liferay.portal.SystemException;
83  
84      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
85      public com.liferay.portlet.documentlibrary.model.DLFolder getFolder(
86          long groupId, long parentFolderId, java.lang.String name)
87          throws com.liferay.portal.PortalException,
88              com.liferay.portal.SystemException;
89  
90      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
91      public long getFolderId(long groupId, long parentFolderId,
92          java.lang.String name)
93          throws com.liferay.portal.PortalException,
94              com.liferay.portal.SystemException;
95  
96      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
97      public java.util.List<com.liferay.portlet.documentlibrary.model.DLFolder> getFolders(
98          long groupId, long parentFolderId)
99          throws com.liferay.portal.PortalException,
100             com.liferay.portal.SystemException;
101 
102     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
103     public boolean hasInheritableLock(long folderId)
104         throws com.liferay.portal.PortalException;
105 
106     public com.liferay.lock.model.Lock lockFolder(long folderId)
107         throws com.liferay.portal.PortalException,
108             com.liferay.portal.SystemException, java.rmi.RemoteException;
109 
110     public com.liferay.lock.model.Lock lockFolder(long folderId,
111         java.lang.String owner, boolean inheritable, long expirationTime)
112         throws com.liferay.portal.PortalException,
113             com.liferay.portal.SystemException, java.rmi.RemoteException;
114 
115     public com.liferay.lock.model.Lock refreshFolderLock(
116         java.lang.String lockUuid, long expirationTime)
117         throws com.liferay.portal.PortalException;
118 
119     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
120     public void reIndexSearch(long companyId)
121         throws com.liferay.portal.PortalException,
122             com.liferay.portal.SystemException;
123 
124     public void unlockFolder(long folderId, java.lang.String lockUuid)
125         throws com.liferay.portal.PortalException;
126 
127     public void unlockFolder(long groupId, long parentFolderId,
128         java.lang.String name, java.lang.String lockUuid)
129         throws com.liferay.portal.PortalException,
130             com.liferay.portal.SystemException;
131 
132     public com.liferay.portlet.documentlibrary.model.DLFolder updateFolder(
133         long folderId, long parentFolderId, java.lang.String name,
134         java.lang.String description,
135         com.liferay.portal.service.ServiceContext serviceContext)
136         throws com.liferay.portal.PortalException,
137             com.liferay.portal.SystemException, java.rmi.RemoteException;
138 
139     public boolean verifyInheritableLock(long folderId,
140         java.lang.String lockUuid) throws com.liferay.portal.PortalException;
141 }