001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.documentlibrary.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
020    import com.liferay.portal.kernel.transaction.Isolation;
021    import com.liferay.portal.kernel.transaction.Propagation;
022    import com.liferay.portal.kernel.transaction.Transactional;
023    
024    /**
025     * The interface for the d l app remote service.
026     *
027     * <p>
028     * 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.
029     * </p>
030     *
031     * @author Brian Wing Shun Chan
032     * @see DLAppServiceUtil
033     * @see com.liferay.portlet.documentlibrary.service.base.DLAppServiceBaseImpl
034     * @see com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl
035     * @generated
036     */
037    @JSONWebService
038    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
039            PortalException.class, SystemException.class})
040    public interface DLAppService {
041            /*
042             * NOTE FOR DEVELOPERS:
043             *
044             * Never modify or reference this interface directly. Always use {@link DLAppServiceUtil} to access the d l app remote service. Add custom service methods to {@link com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
045             */
046    
047            /**
048            * Adds a file entry and associated metadata. It is created based on a byte
049            * array.
050            *
051            * <p>
052            * This method takes two file names, the <code>sourceFileName</code> and the
053            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
054            * name of the actual file being uploaded. The <code>title</code>
055            * corresponds to a name the client wishes to assign this file after it has
056            * been uploaded to the portal. If it is <code>null</code>, the <code>
057            * sourceFileName</code> will be used.
058            * </p>
059            *
060            * @param repositoryId the primary key of the repository
061            * @param folderId the primary key of the file entry's parent folder
062            * @param sourceFileName the original file's name
063            * @param mimeType the file's MIME type
064            * @param title the name to be assigned to the file (optionally <code>null
065            </code>)
066            * @param description the file's description
067            * @param changeLog the file's version change log
068            * @param bytes the file's data (optionally <code>null</code>)
069            * @param serviceContext the service context to be applied. Can set the
070            asset category IDs, asset tag names, and expando bridge
071            attributes for the file entry. In a Liferay repository, it may
072            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
073            type </li> <li> fieldsMap - mapping for fields associated with a
074            custom file entry type </li> </ul>
075            * @return the file entry
076            * @throws PortalException if the parent folder could not be found or if the
077            file entry's information was invalid
078            * @throws SystemException if a system exception occurred
079            */
080            public com.liferay.portal.kernel.repository.model.FileEntry addFileEntry(
081                    long repositoryId, long folderId, java.lang.String sourceFileName,
082                    java.lang.String mimeType, java.lang.String title,
083                    java.lang.String description, java.lang.String changeLog, byte[] bytes,
084                    com.liferay.portal.service.ServiceContext serviceContext)
085                    throws com.liferay.portal.kernel.exception.PortalException,
086                            com.liferay.portal.kernel.exception.SystemException;
087    
088            /**
089            * Adds a file entry and associated metadata. It is created based on a
090            * {@link File} object.
091            *
092            * <p>
093            * This method takes two file names, the <code>sourceFileName</code> and the
094            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
095            * name of the actual file being uploaded. The <code>title</code>
096            * corresponds to a name the client wishes to assign this file after it has
097            * been uploaded to the portal. If it is <code>null</code>, the <code>
098            * sourceFileName</code> will be used.
099            * </p>
100            *
101            * @param repositoryId the primary key of the repository
102            * @param folderId the primary key of the file entry's parent folder
103            * @param sourceFileName the original file's name
104            * @param mimeType the file's MIME type
105            * @param title the name to be assigned to the file (optionally <code>null
106            </code>)
107            * @param description the file's description
108            * @param changeLog the file's version change log
109            * @param file the file's data (optionally <code>null</code>)
110            * @param serviceContext the service context to be applied. Can set the
111            asset category IDs, asset tag names, and expando bridge
112            attributes for the file entry. In a Liferay repository, it may
113            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
114            type </li> <li> fieldsMap - mapping for fields associated with a
115            custom file entry type </li> </ul>
116            * @return the file entry
117            * @throws PortalException if the parent folder could not be found or if the
118            file entry's information was invalid
119            * @throws SystemException if a system exception occurred
120            */
121            public com.liferay.portal.kernel.repository.model.FileEntry addFileEntry(
122                    long repositoryId, long folderId, java.lang.String sourceFileName,
123                    java.lang.String mimeType, java.lang.String title,
124                    java.lang.String description, java.lang.String changeLog,
125                    java.io.File file,
126                    com.liferay.portal.service.ServiceContext serviceContext)
127                    throws com.liferay.portal.kernel.exception.PortalException,
128                            com.liferay.portal.kernel.exception.SystemException;
129    
130            /**
131            * Adds a file entry and associated metadata. It is created based on a
132            * {@link InputStream} object.
133            *
134            * <p>
135            * This method takes two file names, the <code>sourceFileName</code> and the
136            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
137            * name of the actual file being uploaded. The <code>title</code>
138            * corresponds to a name the client wishes to assign this file after it has
139            * been uploaded to the portal. If it is <code>null</code>, the <code>
140            * sourceFileName</code> will be used.
141            * </p>
142            *
143            * @param repositoryId the primary key of the repository
144            * @param folderId the primary key of the file entry's parent folder
145            * @param sourceFileName the original file's name
146            * @param mimeType the file's MIME type
147            * @param title the name to be assigned to the file (optionally <code>null
148            </code>)
149            * @param description the file's description
150            * @param changeLog the file's version change log
151            * @param is the file's data (optionally <code>null</code>)
152            * @param size the file's size (optionally <code>0</code>)
153            * @param serviceContext the service context to be applied. Can set the
154            asset category IDs, asset tag names, and expando bridge
155            attributes for the file entry. In a Liferay repository, it may
156            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
157            type </li> <li> fieldsMap - mapping for fields associated with a
158            custom file entry type </li> </ul>
159            * @return the file entry
160            * @throws PortalException if the parent folder could not be found or if the
161            file entry's information was invalid
162            * @throws SystemException if a system exception occurred
163            */
164            public com.liferay.portal.kernel.repository.model.FileEntry addFileEntry(
165                    long repositoryId, long folderId, java.lang.String sourceFileName,
166                    java.lang.String mimeType, java.lang.String title,
167                    java.lang.String description, java.lang.String changeLog,
168                    java.io.InputStream is, long size,
169                    com.liferay.portal.service.ServiceContext serviceContext)
170                    throws com.liferay.portal.kernel.exception.PortalException,
171                            com.liferay.portal.kernel.exception.SystemException;
172    
173            /**
174            * Adds a file shortcut to the existing file entry. This method is only
175            * supported by the Liferay repository.
176            *
177            * @param repositoryId the primary key of the repository
178            * @param folderId the primary key of the file shortcut's parent folder
179            * @param toFileEntryId the primary key of the file shortcut's file entry
180            * @param serviceContext the service context to be applied. Can set the
181            asset category IDs, asset tag names, and expando bridge
182            attributes for the file entry.
183            * @return the file shortcut
184            * @throws PortalException if the parent folder or file entry could not be
185            found, or if the file shortcut's information was invalid
186            * @throws SystemException if a system exception occurred
187            */
188            public com.liferay.portlet.documentlibrary.model.DLFileShortcut addFileShortcut(
189                    long repositoryId, long folderId, long toFileEntryId,
190                    com.liferay.portal.service.ServiceContext serviceContext)
191                    throws com.liferay.portal.kernel.exception.PortalException,
192                            com.liferay.portal.kernel.exception.SystemException;
193    
194            /**
195            * Adds a folder.
196            *
197            * @param repositoryId the primary key of the repository
198            * @param parentFolderId the primary key of the folder's parent folder
199            * @param name the folder's name
200            * @param description the folder's description
201            * @param serviceContext the service context to be applied. In a Liferay
202            repository, it may include boolean mountPoint specifying whether
203            folder is a facade for mounting a third-party repository
204            * @return the folder
205            * @throws PortalException if the parent folder could not be found or if the
206            new folder's information was invalid
207            * @throws SystemException if a system exception occurred
208            */
209            public com.liferay.portal.kernel.repository.model.Folder addFolder(
210                    long repositoryId, long parentFolderId, java.lang.String name,
211                    java.lang.String description,
212                    com.liferay.portal.service.ServiceContext serviceContext)
213                    throws com.liferay.portal.kernel.exception.PortalException,
214                            com.liferay.portal.kernel.exception.SystemException;
215    
216            /**
217            * Adds a temporary file entry.
218            *
219            * <p>
220            * This allows a client to upload a file into a temporary location and
221            * manipulate its metadata prior to making it available for public usage.
222            * This is different from checking in and checking out a file entry.
223            * </p>
224            *
225            * @param groupId the primary key of the group
226            * @param folderId the primary key of the folder where the file entry will
227            eventually reside
228            * @param fileName the file's original name
229            * @param tempFolderName the temporary folder's name
230            * @param file Name the file's original name
231            * @return the file's name
232            * @throws IOException if a problem occurred in the access or storage of the
233            file
234            * @throws PortalException if the file name was invalid
235            * @throws SystemException if a system exception occurred
236            * @see com.liferay.portal.kernel.util.TempFileUtil
237            */
238            public java.lang.String addTempFileEntry(long groupId, long folderId,
239                    java.lang.String fileName, java.lang.String tempFolderName,
240                    java.io.File file)
241                    throws com.liferay.portal.kernel.exception.PortalException,
242                            com.liferay.portal.kernel.exception.SystemException,
243                            java.io.IOException;
244    
245            public java.lang.String addTempFileEntry(long groupId, long folderId,
246                    java.lang.String fileName, java.lang.String tempFolderName,
247                    java.io.InputStream inputStream)
248                    throws com.liferay.portal.kernel.exception.PortalException,
249                            com.liferay.portal.kernel.exception.SystemException,
250                            java.io.IOException;
251    
252            /**
253            * Cancels the check out of the file entry. If a user has not checked out
254            * the specified file entry, invoking this method will result in no changes.
255            *
256            * <p>
257            * When a file entry is checked out, a PWC (private working copy) is created
258            * and the original file entry is locked. A client can make as many changes
259            * to the PWC as he desires without those changes being visible to other
260            * users. If the user is satisfied with the changes, he may elect to check
261            * in his changes, resulting in a new file version based on the PWC; the PWC
262            * will be removed and the file entry will be unlocked. If the user is not
263            * satisfied with the changes, he may elect to cancel his check out; this
264            * results in the deletion of the PWC and unlocking of the file entry.
265            * </p>
266            *
267            * @param fileEntryId the primary key of the file entry to cancel the
268            checkout
269            * @throws PortalException if the file entry could not be found
270            * @throws SystemException if a system exception occurred
271            * @see #checkInFileEntry(long, boolean, String, ServiceContext)
272            * @see #checkOutFileEntry(long)
273            */
274            public void cancelCheckOut(long fileEntryId)
275                    throws com.liferay.portal.kernel.exception.PortalException,
276                            com.liferay.portal.kernel.exception.SystemException;
277    
278            /**
279            * Checks in the file entry. If a user has not checked out the specified
280            * file entry, invoking this method will result in no changes.
281            *
282            * <p>
283            * When a file entry is checked out, a PWC (private working copy) is created
284            * and the original file entry is locked. A client can make as many changes
285            * to the PWC as he desires without those changes being visible to other
286            * users. If the user is satisfied with the changes, he may elect to check
287            * in his changes, resulting in a new file version based on the PWC; the PWC
288            * will be removed and the file entry will be unlocked. If the user is not
289            * satisfied with the changes, he may elect to cancel his check out; this
290            * results in the deletion of the PWC and unlocking of the file entry.
291            * </p>
292            *
293            * @param fileEntryId the primary key of the file entry to check in
294            * @param majorVersion whether the new file version is a major version
295            * @param changeLog the file's version change log
296            * @param serviceContext the service context to be applied
297            * @throws PortalException if the file entry could not be found
298            * @throws SystemException if a system exception occurred
299            * @see #cancelCheckOut(long)
300            * @see #checkOutFileEntry(long)
301            */
302            public void checkInFileEntry(long fileEntryId, boolean majorVersion,
303                    java.lang.String changeLog,
304                    com.liferay.portal.service.ServiceContext serviceContext)
305                    throws com.liferay.portal.kernel.exception.PortalException,
306                            com.liferay.portal.kernel.exception.SystemException;
307    
308            /**
309            * Checks in the file entry using the lock's UUID. If a user has not checked
310            * out the specified file entry, invoking this method will result in no
311            * changes. This method is primarily used by WebDAV.
312            *
313            * <p>
314            * When a file entry is checked out, a PWC (private working copy) is created
315            * and the original file entry is locked. A client can make as many changes
316            * to the PWC as he desires without those changes being visible to other
317            * users. If the user is satisfied with the changes, he may elect to check
318            * in his changes, resulting in a new file version based on the PWC; the PWC
319            * will be removed and the file entry will be unlocked. If the user is not
320            * satisfied with the changes, he may elect to cancel his check out; this
321            * results in the deletion of the PWC and unlocking of the file entry.
322            * </p>
323            *
324            * @param fileEntryId the primary key of the file entry to check in
325            * @param lockUuid the lock's universally unique identifier
326            * @throws PortalException if the file entry could not be found
327            * @throws SystemException if a system exception occurred
328            * @see #cancelCheckOut(long)
329            * @see #checkOutFileEntry(long, String, long)
330            */
331            public void checkInFileEntry(long fileEntryId, java.lang.String lockUuid)
332                    throws com.liferay.portal.kernel.exception.PortalException,
333                            com.liferay.portal.kernel.exception.SystemException;
334    
335            /**
336            * Check out a file entry.
337            *
338            * <p>
339            * When a file entry is checked out, a PWC (private working copy) is created
340            * and the original file entry is locked. A client can make as many changes
341            * to the PWC as he desires without those changes being visible to other
342            * users. If the user is satisfied with the changes, he may elect to check
343            * in his changes, resulting in a new file version based on the PWC; the PWC
344            * will be removed and the file entry will be unlocked. If the user is not
345            * satisfied with the changes, he may elect to cancel his check out; this
346            * results in the deletion of the PWC and unlocking of the file entry.
347            * </p>
348            *
349            * @param fileEntryId the file entry to check out
350            * @throws PortalException if the file entry could not be found
351            * @throws SystemException if a system exception occurred
352            * @see #cancelCheckOut(long)
353            * @see #checkInFileEntry(long, boolean, String, ServiceContext)
354            */
355            public void checkOutFileEntry(long fileEntryId)
356                    throws com.liferay.portal.kernel.exception.PortalException,
357                            com.liferay.portal.kernel.exception.SystemException;
358    
359            /**
360            * Checks out the file entry. This method is primarily used by WebDAV.
361            *
362            * <p>
363            * When a file entry is checked out, a PWC (private working copy) is created
364            * and the original file entry is locked. A client can make as many changes
365            * to the PWC as he desires without those changes being visible to other
366            * users. If the user is satisfied with the changes, he may elect to check
367            * in his changes, resulting in a new file version based on the PWC; the PWC
368            * will be removed and the file entry will be unlocked. If the user is not
369            * satisfied with the changes, he may elect to cancel his check out; this
370            * results in the deletion of the PWC and unlocking of the file entry.
371            * </p>
372            *
373            * @param fileEntryId the file entry to check out
374            * @param owner the owner string for the checkout (optionally
375            <code>null</code>)
376            * @param expirationTime the time in milliseconds before the lock expires.
377            If the value is <code>0</code>, the default expiration time will
378            be used from <code>portal.properties>.
379            * @return the file entry
380            * @throws PortalException if the file entry could not be found
381            * @throws SystemException if a system exception occurred
382            * @see #cancelCheckOut(long)
383            * @see #checkInFileEntry(long, String)
384            */
385            public com.liferay.portal.kernel.repository.model.FileEntry checkOutFileEntry(
386                    long fileEntryId, java.lang.String owner, long expirationTime)
387                    throws com.liferay.portal.kernel.exception.PortalException,
388                            com.liferay.portal.kernel.exception.SystemException;
389    
390            /**
391            * Performs a deep copy of the folder.
392            *
393            * @param repositoryId the primary key of the repository
394            * @param sourceFolderId the primary key of the folder to copy
395            * @param parentFolderId the primary key of the new folder's parent folder
396            * @param name the new folder's name
397            * @param description the new folder's description
398            * @param serviceContext the service context to be applied
399            * @return the folder
400            * @throws PortalException if the source folder or the new parent folder
401            could not be found or if the new folder's information was invalid
402            * @throws SystemException if a system exception occurred
403            */
404            public com.liferay.portal.kernel.repository.model.Folder copyFolder(
405                    long repositoryId, long sourceFolderId, long parentFolderId,
406                    java.lang.String name, java.lang.String description,
407                    com.liferay.portal.service.ServiceContext serviceContext)
408                    throws com.liferay.portal.kernel.exception.PortalException,
409                            com.liferay.portal.kernel.exception.SystemException;
410    
411            /**
412            * Deletes the file entry with the primary key.
413            *
414            * @param fileEntryId the primary key of the file entry
415            * @throws PortalException if the file entry could not be found
416            * @throws SystemException if a system exception occurred
417            */
418            public void deleteFileEntry(long fileEntryId)
419                    throws com.liferay.portal.kernel.exception.PortalException,
420                            com.liferay.portal.kernel.exception.SystemException;
421    
422            /**
423            * Deletes the file entry with the title in the folder.
424            *
425            * @param repositoryId the primary key of the repository
426            * @param folderId the primary key of the file entry's parent folder
427            * @param title the file entry's title
428            * @throws PortalException if the file entry could not be found
429            * @throws SystemException if a system exception occurred
430            */
431            public void deleteFileEntryByTitle(long repositoryId, long folderId,
432                    java.lang.String title)
433                    throws com.liferay.portal.kernel.exception.PortalException,
434                            com.liferay.portal.kernel.exception.SystemException;
435    
436            /**
437            * Deletes the file shortcut with the primary key. This method is only
438            * supported by the Liferay repository.
439            *
440            * @param fileShortcutId the primary key of the file shortcut
441            * @throws PortalException if the file shortcut could not be found
442            * @throws SystemException if a system exception occurred
443            */
444            public void deleteFileShortcut(long fileShortcutId)
445                    throws com.liferay.portal.kernel.exception.PortalException,
446                            com.liferay.portal.kernel.exception.SystemException;
447    
448            /**
449            * Deletes the folder with the primary key and all of its subfolders and
450            * file entries.
451            *
452            * @param folderId the primary key of the folder
453            * @throws PortalException if the folder could not be found
454            * @throws SystemException if a system exception occurred
455            */
456            public void deleteFolder(long folderId)
457                    throws com.liferay.portal.kernel.exception.PortalException,
458                            com.liferay.portal.kernel.exception.SystemException;
459    
460            /**
461            * Deletes the folder with the name in the parent folder and all of its
462            * subfolders and file entries.
463            *
464            * @param repositoryId the primary key of the repository
465            * @param parentFolderId the primary key of the folder's parent folder
466            * @param name the folder's name
467            * @throws PortalException if the folder could not be found
468            * @throws SystemException if a system exception occurred
469            */
470            public void deleteFolder(long repositoryId, long parentFolderId,
471                    java.lang.String name)
472                    throws com.liferay.portal.kernel.exception.PortalException,
473                            com.liferay.portal.kernel.exception.SystemException;
474    
475            /**
476            * Deletes the temporary file entry.
477            *
478            * @param groupId the primary key of the group
479            * @param folderId the primary key of the folder where the file entry was
480            eventually to reside
481            * @param fileName the file's original name
482            * @param tempFolderName the temporary folder's name
483            * @throws PortalException if the file name was invalid
484            * @throws SystemException if a system exception occurred
485            * @see com.liferay.portal.kernel.util.TempFileUtil
486            */
487            public void deleteTempFileEntry(long groupId, long folderId,
488                    java.lang.String fileName, java.lang.String tempFolderName)
489                    throws com.liferay.portal.kernel.exception.PortalException,
490                            com.liferay.portal.kernel.exception.SystemException;
491    
492            /**
493            * Returns all the file entries in the folder.
494            *
495            * @param repositoryId the primary key of the file entry's repository
496            * @param folderId the primary key of the file entry's folder
497            * @return the file entries in the folder
498            * @throws PortalException if the folder could not be found
499            * @throws SystemException if a system exception occurred
500            */
501            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
502            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getFileEntries(
503                    long repositoryId, long folderId)
504                    throws com.liferay.portal.kernel.exception.PortalException,
505                            com.liferay.portal.kernel.exception.SystemException;
506    
507            /**
508            * Returns a range of all the file entries in the folder.
509            *
510            * <p>
511            * Useful when paginating results. Returns a maximum of <code>end -
512            * start</code> instances. <code>start</code> and <code>end</code> are not
513            * primary keys, they are indexes in the result set. Thus, <code>0</code>
514            * refers to the first result in the set. Setting both <code>start</code>
515            * and <code>end</code> to {@link
516            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
517            * result set.
518            * </p>
519            *
520            * @param repositoryId the primary key of the file entry's repository
521            * @param folderId the primary key of the file entry's folder
522            * @param start the lower bound of the range of results
523            * @param end the upper bound of the range of results (not inclusive)
524            * @return the range of file entries in the folder
525            * @throws PortalException if the folder could not be found
526            * @throws SystemException if a system exception occurred
527            */
528            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
529            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getFileEntries(
530                    long repositoryId, long folderId, int start, int end)
531                    throws com.liferay.portal.kernel.exception.PortalException,
532                            com.liferay.portal.kernel.exception.SystemException;
533    
534            /**
535            * Returns an ordered range of all the file entries in the folder.
536            *
537            * <p>
538            * Useful when paginating results. Returns a maximum of <code>end -
539            * start</code> instances. <code>start</code> and <code>end</code> are not
540            * primary keys, they are indexes in the result set. Thus, <code>0</code>
541            * refers to the first result in the set. Setting both <code>start</code>
542            * and <code>end</code> to {@link
543            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
544            * result set.
545            * </p>
546            *
547            * @param repositoryId the primary key of the file entry's repository
548            * @param folderId the primary key of the file entry's folder
549            * @param start the lower bound of the range of results
550            * @param end the upper bound of the range of results (not inclusive)
551            * @param obc the comparator to order the file entries (optionally
552            <code>null</code>)
553            * @return the range of file entries in the folder ordered by comparator
554            <code>obc</code>
555            * @throws PortalException if the folder could not be found
556            * @throws SystemException if a system exception occurred
557            */
558            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
559            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getFileEntries(
560                    long repositoryId, long folderId, int start, int end,
561                    com.liferay.portal.kernel.util.OrderByComparator obc)
562                    throws com.liferay.portal.kernel.exception.PortalException,
563                            com.liferay.portal.kernel.exception.SystemException;
564    
565            /**
566            * Returns the file entries with the file entry type in the folder.
567            *
568            * @param repositoryId the primary key of the file entry's repository
569            * @param folderId the primary key of the file entry's folder
570            * @param fileEntryTypeId the primary key of the file entry type
571            * @return the file entries with the file entry type in the folder
572            * @throws PortalException if the folder could not be found
573            * @throws SystemException if a system exception occurred
574            */
575            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
576            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getFileEntries(
577                    long repositoryId, long folderId, long fileEntryTypeId)
578                    throws com.liferay.portal.kernel.exception.PortalException,
579                            com.liferay.portal.kernel.exception.SystemException;
580    
581            /**
582            * Returns a range of all the file entries with the file entry type in the
583            * folder.
584            *
585            * @param repositoryId the primary key of the file entry's repository
586            * @param folderId the primary key of the file entry's folder
587            * @param fileEntryTypeId the primary key of the file entry type
588            * @param start the lower bound of the range of results
589            * @param end the upper bound of the range of results (not inclusive)
590            * @return the file entries in the folder
591            * @throws PortalException if the folder could not be found
592            * @throws SystemException if a system exception occurred
593            */
594            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
595            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getFileEntries(
596                    long repositoryId, long folderId, long fileEntryTypeId, int start,
597                    int end)
598                    throws com.liferay.portal.kernel.exception.PortalException,
599                            com.liferay.portal.kernel.exception.SystemException;
600    
601            /**
602            * Returns an ordered range of all the file entries with the file entry type
603            * in the folder.
604            *
605            * @param repositoryId the primary key of the repository
606            * @param folderId the primary key of the folder
607            * @param fileEntryTypeId the primary key of the file entry type
608            * @param start the lower bound of the range of results
609            * @param end the upper bound of the range of results (not inclusive)
610            * @param obc the comparator to order the results by (optionally
611            <code>null</code>)
612            * @return the range of file entries with the file entry type in the folder
613            ordered by <code>null</code>
614            * @throws PortalException if the folder could not be found
615            * @throws SystemException if a system exception occurred
616            */
617            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
618            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getFileEntries(
619                    long repositoryId, long folderId, long fileEntryTypeId, int start,
620                    int end, com.liferay.portal.kernel.util.OrderByComparator obc)
621                    throws com.liferay.portal.kernel.exception.PortalException,
622                            com.liferay.portal.kernel.exception.SystemException;
623    
624            /**
625            * Returns a range of all the file entries and shortcuts in the folder.
626            *
627            * <p>
628            * Useful when paginating results. Returns a maximum of <code>end -
629            * start</code> instances. <code>start</code> and <code>end</code> are not
630            * primary keys, they are indexes in the result set. Thus, <code>0</code>
631            * refers to the first result in the set. Setting both <code>start</code>
632            * and <code>end</code> to {@link
633            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
634            * result set.
635            * </p>
636            *
637            * @param repositoryId the primary key of the repository
638            * @param folderId the primary key of the folder
639            * @param status the workflow status
640            * @param start the lower bound of the range of results
641            * @param end the upper bound of the range of results (not inclusive)
642            * @return the range of file entries and shortcuts in the folder
643            * @throws PortalException if the folder could not be found
644            * @throws SystemException if a system exception occurred
645            */
646            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
647            public java.util.List<java.lang.Object> getFileEntriesAndFileShortcuts(
648                    long repositoryId, long folderId, int status, int start, int end)
649                    throws com.liferay.portal.kernel.exception.PortalException,
650                            com.liferay.portal.kernel.exception.SystemException;
651    
652            /**
653            * Returns the number of file entries and shortcuts in the folder.
654            *
655            * @param repositoryId the primary key of the repository
656            * @param folderId the primary key of the folder
657            * @param status the workflow status
658            * @return the number of file entries and shortcuts in the folder
659            * @throws PortalException if the folder ould not be found
660            * @throws SystemException if a system exception occurred
661            */
662            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
663            public int getFileEntriesAndFileShortcutsCount(long repositoryId,
664                    long folderId, int status)
665                    throws com.liferay.portal.kernel.exception.PortalException,
666                            com.liferay.portal.kernel.exception.SystemException;
667    
668            /**
669            * Returns the number of file entries and shortcuts in the folder.
670            *
671            * @param repositoryId the primary key of the repository
672            * @param folderId the primary key of the folder
673            * @param status the workflow status
674            * @param mimeTypes allowed media types
675            * @return the number of file entries and shortcuts in the folder
676            * @throws PortalException if the folder ould not be found
677            * @throws SystemException if a system exception occurred
678            */
679            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
680            public int getFileEntriesAndFileShortcutsCount(long repositoryId,
681                    long folderId, int status, java.lang.String[] mimeTypes)
682                    throws com.liferay.portal.kernel.exception.PortalException,
683                            com.liferay.portal.kernel.exception.SystemException;
684    
685            /**
686            * Returns the number of file entries in the folder.
687            *
688            * @param repositoryId the primary key of the file entry's repository
689            * @param folderId the primary key of the file entry's folder
690            * @return the number of file entries in the folder
691            * @throws PortalException if the folder could not be found
692            * @throws SystemException if a system exception occurred
693            */
694            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
695            public int getFileEntriesCount(long repositoryId, long folderId)
696                    throws com.liferay.portal.kernel.exception.PortalException,
697                            com.liferay.portal.kernel.exception.SystemException;
698    
699            /**
700            * Returns the number of file entries with the file entry type in the
701            * folder.
702            *
703            * @param repositoryId the primary key of the file entry's repository
704            * @param folderId the primary key of the file entry's folder
705            * @param fileEntryTypeId the primary key of the file entry type
706            * @return the number of file entries with the file entry type in the folder
707            * @throws PortalException if the folder could not be found
708            * @throws SystemException if a system exception occurred
709            */
710            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
711            public int getFileEntriesCount(long repositoryId, long folderId,
712                    long fileEntryTypeId)
713                    throws com.liferay.portal.kernel.exception.PortalException,
714                            com.liferay.portal.kernel.exception.SystemException;
715    
716            /**
717            * Returns the file entry with the primary key.
718            *
719            * @param fileEntryId the primary key of the file entry
720            * @return the file entry with the primary key
721            * @throws PortalException if the file entry could not be found
722            * @throws SystemException if a system exception occurred
723            */
724            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
725            public com.liferay.portal.kernel.repository.model.FileEntry getFileEntry(
726                    long fileEntryId)
727                    throws com.liferay.portal.kernel.exception.PortalException,
728                            com.liferay.portal.kernel.exception.SystemException;
729    
730            /**
731            * Returns the file entry with the title in the folder.
732            *
733            * @param groupId the primary key of the file entry's group
734            * @param folderId the primary key of the file entry's folder
735            * @param title the file entry's title
736            * @return the file entry with the title in the folder
737            * @throws PortalException if the file entry could not be found
738            * @throws SystemException if a system exception occurred
739            */
740            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
741            public com.liferay.portal.kernel.repository.model.FileEntry getFileEntry(
742                    long groupId, long folderId, java.lang.String title)
743                    throws com.liferay.portal.kernel.exception.PortalException,
744                            com.liferay.portal.kernel.exception.SystemException;
745    
746            /**
747            * Returns the file entry with the UUID and group.
748            *
749            * @param uuid the file entry's universally unique identifier
750            * @param groupId the primary key of the file entry's group
751            * @return the file entry with the UUID and group
752            * @throws PortalException if the file entry could not be found
753            * @throws SystemException if a system exception occurred
754            */
755            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
756            public com.liferay.portal.kernel.repository.model.FileEntry getFileEntryByUuidAndGroupId(
757                    java.lang.String uuid, long groupId)
758                    throws com.liferay.portal.kernel.exception.PortalException,
759                            com.liferay.portal.kernel.exception.SystemException;
760    
761            /**
762            * Returns the file shortcut with the primary key. This method is only
763            * supported by the Liferay repository.
764            *
765            * @param fileShortcutId the primary key of the file shortcut
766            * @return the file shortcut with the primary key
767            * @throws PortalException if the file shortcut could not be found
768            * @throws SystemException if a system exception occurred
769            */
770            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
771            public com.liferay.portlet.documentlibrary.model.DLFileShortcut getFileShortcut(
772                    long fileShortcutId)
773                    throws com.liferay.portal.kernel.exception.PortalException,
774                            com.liferay.portal.kernel.exception.SystemException;
775    
776            /**
777            * Returns the folder with the primary key.
778            *
779            * @param folderId the primary key of the folder
780            * @return the folder with the primary key
781            * @throws PortalException if the folder could not be found
782            * @throws SystemException if a system exception occurred
783            */
784            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
785            public com.liferay.portal.kernel.repository.model.Folder getFolder(
786                    long folderId)
787                    throws com.liferay.portal.kernel.exception.PortalException,
788                            com.liferay.portal.kernel.exception.SystemException;
789    
790            /**
791            * Returns the folder with the name in the parent folder.
792            *
793            * @param repositoryId the primary key of the folder's repository
794            * @param parentFolderId the primary key of the folder's parent folder
795            * @param name the folder's name
796            * @return the folder with the name in the parent folder
797            * @throws PortalException if the folder could not be found
798            * @throws SystemException if a system exception occurred
799            */
800            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
801            public com.liferay.portal.kernel.repository.model.Folder getFolder(
802                    long repositoryId, long parentFolderId, java.lang.String name)
803                    throws com.liferay.portal.kernel.exception.PortalException,
804                            com.liferay.portal.kernel.exception.SystemException;
805    
806            /**
807            * Returns all immediate subfolders of the parent folder.
808            *
809            * @param repositoryId the primary key of the folder's repository
810            * @param parentFolderId the primary key of the folder's parent folder
811            * @return the immediate subfolders of the parent folder
812            * @throws PortalException if the parent folder could not be found
813            * @throws SystemException if a system exception occurred
814            */
815            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
816            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getFolders(
817                    long repositoryId, long parentFolderId)
818                    throws com.liferay.portal.kernel.exception.PortalException,
819                            com.liferay.portal.kernel.exception.SystemException;
820    
821            /**
822            * Returns all immediate subfolders of the parent folder, optionally
823            * including mount folders for third-party repositories.
824            *
825            * @param repositoryId the primary key of the folder's repository
826            * @param parentFolderId the primary key of the folder's parent folder
827            * @param includeMountFolders whether to include mount folders for
828            third-party repositories
829            * @return the immediate subfolders of the parent folder
830            * @throws PortalException if the parent folder could not be found
831            * @throws SystemException if a system exception occurred
832            */
833            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
834            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getFolders(
835                    long repositoryId, long parentFolderId, boolean includeMountFolders)
836                    throws com.liferay.portal.kernel.exception.PortalException,
837                            com.liferay.portal.kernel.exception.SystemException;
838    
839            /**
840            * Returns a range of all the immediate subfolders of the parent folder,
841            * optionally including mount folders for third-party repositories.
842            *
843            * <p>
844            * Useful when paginating results. Returns a maximum of <code>end -
845            * start</code> instances. <code>start</code> and <code>end</code> are not
846            * primary keys, they are indexes in the result set. Thus, <code>0</code>
847            * refers to the first result in the set. Setting both <code>start</code>
848            * and <code>end</code> to {@link
849            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
850            * result set.
851            * </p>
852            *
853            * @param repositoryId the primary key of the folder's repository
854            * @param parentFolderId the primary key of the folder's parent folder
855            * @param includeMountFolders whether to include mount folders for
856            third-party repositories
857            * @param start the lower bound of the range of results
858            * @param end the upper bound of the range of results (not inclusive)
859            * @return the range of immediate subfolders of the parent folder
860            * @throws PortalException if the parent folder could not be found
861            * @throws SystemException if a system exception occurred
862            */
863            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
864            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getFolders(
865                    long repositoryId, long parentFolderId, boolean includeMountFolders,
866                    int start, int end)
867                    throws com.liferay.portal.kernel.exception.PortalException,
868                            com.liferay.portal.kernel.exception.SystemException;
869    
870            /**
871            * Returns an ordered range of all the immediate subfolders of the parent
872            * folder.
873            *
874            * <p>
875            * Useful when paginating results. Returns a maximum of <code>end -
876            * start</code> instances. <code>start</code> and <code>end</code> are not
877            * primary keys, they are indexes in the result set. Thus, <code>0</code>
878            * refers to the first result in the set. Setting both <code>start</code>
879            * and <code>end</code> to {@link
880            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
881            * result set.
882            * </p>
883            *
884            * @param repositoryId the primary key of the folder's repository
885            * @param parentFolderId the primary key of the folder's parent folder
886            * @param includeMountFolders whether to include mount folders for
887            third-party repositories
888            * @param start the lower bound of the range of results
889            * @param end the upper bound of the range of results (not inclusive)
890            * @param obc the comparator to order the folders (optionally
891            <code>null</code>)
892            * @return the range of immediate subfolders of the parent folder ordered by
893            comparator <code>obc</code>
894            * @throws PortalException if the parent folder could not be found
895            * @throws SystemException if a system exception occurred
896            */
897            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
898            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getFolders(
899                    long repositoryId, long parentFolderId, boolean includeMountFolders,
900                    int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
901                    throws com.liferay.portal.kernel.exception.PortalException,
902                            com.liferay.portal.kernel.exception.SystemException;
903    
904            /**
905            * Returns a range of all the immediate subfolders of the parent folder.
906            *
907            * <p>
908            * Useful when paginating results. Returns a maximum of <code>end -
909            * start</code> instances. <code>start</code> and <code>end</code> are not
910            * primary keys, they are indexes in the result set. Thus, <code>0</code>
911            * refers to the first result in the set. Setting both <code>start</code>
912            * and <code>end</code> to {@link
913            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
914            * result set.
915            * </p>
916            *
917            * @param repositoryId the primary key of the folder's repository
918            * @param parentFolderId the primary key of the folder's parent folder
919            * @param start the lower bound of the range of results
920            * @param end the upper bound of the range of results (not inclusive)
921            * @return the range of immediate subfolders of the parent folder
922            * @throws PortalException if the parent folder could not be found
923            * @throws SystemException if a system exception occurred
924            */
925            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
926            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getFolders(
927                    long repositoryId, long parentFolderId, int start, int end)
928                    throws com.liferay.portal.kernel.exception.PortalException,
929                            com.liferay.portal.kernel.exception.SystemException;
930    
931            /**
932            * Returns an ordered range of all the immediate subfolders of the parent
933            * folder.
934            *
935            * <p>
936            * Useful when paginating results. Returns a maximum of <code>end -
937            * start</code> instances. <code>start</code> and <code>end</code> are not
938            * primary keys, they are indexes in the result set. Thus, <code>0</code>
939            * refers to the first result in the set. Setting both <code>start</code>
940            * and <code>end</code> to {@link
941            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
942            * result set.
943            * </p>
944            *
945            * @param repositoryId the primary key of the folder's repository
946            * @param parentFolderId the primary key of the folder's parent folder
947            * @param start the lower bound of the range of results
948            * @param end the upper bound of the range of results (not inclusive)
949            * @param obc the comparator to order the folders (optionally
950            <code>null</code>)
951            * @return the range of immediate subfolders of the parent folder ordered by
952            comparator <code>obc</code>
953            * @throws PortalException if the parent folder could not be found
954            * @throws SystemException if a system exception occurred
955            */
956            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
957            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getFolders(
958                    long repositoryId, long parentFolderId, int start, int end,
959                    com.liferay.portal.kernel.util.OrderByComparator obc)
960                    throws com.liferay.portal.kernel.exception.PortalException,
961                            com.liferay.portal.kernel.exception.SystemException;
962    
963            /**
964            * Returns a range of all the immediate subfolders, file entries, and file
965            * shortcuts in the parent folder.
966            *
967            * <p>
968            * Useful when paginating results. Returns a maximum of <code>end -
969            * start</code> instances. <code>start</code> and <code>end</code> are not
970            * primary keys, they are indexes in the result set. Thus, <code>0</code>
971            * refers to the first result in the set. Setting both <code>start</code>
972            * and <code>end</code> to {@link
973            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
974            * result set.
975            * </p>
976            *
977            * @param repositoryId the primary key of the repository
978            * @param folderId the primary key of the parent folder
979            * @param status the workflow status
980            * @param includeMountFolders whether to include mount folders for
981            third-party repositories
982            * @param start the lower bound of the range of results
983            * @param end the upper bound of the range of results (not inclusive)
984            * @return the range of immediate subfolders, file entries, and file
985            shortcuts in the parent folder ordered by comparator
986            <code>obc</code>
987            * @throws PortalException if the parent folder could not be found
988            * @throws SystemException if a system exception occurred
989            */
990            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
991            public java.util.List<java.lang.Object> getFoldersAndFileEntriesAndFileShortcuts(
992                    long repositoryId, long folderId, int status,
993                    boolean includeMountFolders, int start, int end)
994                    throws com.liferay.portal.kernel.exception.PortalException,
995                            com.liferay.portal.kernel.exception.SystemException;
996    
997            /**
998            * Returns an ordered range of all the immediate subfolders, file entries,
999            * and file shortcuts in the parent folder.
1000            *
1001            * <p>
1002            * Useful when paginating results. Returns a maximum of <code>end -
1003            * start</code> instances. <code>start</code> and <code>end</code> are not
1004            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1005            * refers to the first result in the set. Setting both <code>start</code>
1006            * and <code>end</code> to {@link
1007            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1008            * result set.
1009            * </p>
1010            *
1011            * @param repositoryId the primary key of the repository
1012            * @param folderId the primary key of the parent folder
1013            * @param status the workflow status
1014            * @param includeMountFolders whether to include mount folders for
1015            third-party repositories
1016            * @param start the lower bound of the range of results
1017            * @param end the upper bound of the range of results (not inclusive)
1018            * @param obc the comparator to order the results (optionally
1019            <code>null</code>)
1020            * @return the range of immediate subfolders, file entries, and file
1021            shortcuts in the parent folder ordered by comparator
1022            <code>obc</code>
1023            * @throws PortalException if the parent folder could not be found
1024            * @throws SystemException if a system exception occurred
1025            */
1026            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1027            public java.util.List<java.lang.Object> getFoldersAndFileEntriesAndFileShortcuts(
1028                    long repositoryId, long folderId, int status,
1029                    boolean includeMountFolders, int start, int end,
1030                    com.liferay.portal.kernel.util.OrderByComparator obc)
1031                    throws com.liferay.portal.kernel.exception.PortalException,
1032                            com.liferay.portal.kernel.exception.SystemException;
1033    
1034            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1035            public java.util.List<java.lang.Object> getFoldersAndFileEntriesAndFileShortcuts(
1036                    long repositoryId, long folderId, int status,
1037                    java.lang.String[] mimeTypes, boolean includeMountFolders, int start,
1038                    int end, com.liferay.portal.kernel.util.OrderByComparator obc)
1039                    throws com.liferay.portal.kernel.exception.PortalException,
1040                            com.liferay.portal.kernel.exception.SystemException;
1041    
1042            /**
1043            * Returns the number of immediate subfolders, file entries, and file
1044            * shortcuts in the parent folder.
1045            *
1046            * @param repositoryId the primary key of the repository
1047            * @param folderId the primary key of the parent folder
1048            * @param status the workflow status
1049            * @param includeMountFolders whether to include mount folders for
1050            third-party repositories
1051            * @return the number of immediate subfolders, file entries, and file
1052            shortcuts in the parent folder
1053            * @throws PortalException if the folder could not be found
1054            * @throws SystemException if a system exception occurred
1055            */
1056            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1057            public int getFoldersAndFileEntriesAndFileShortcutsCount(
1058                    long repositoryId, long folderId, int status,
1059                    boolean includeMountFolders)
1060                    throws com.liferay.portal.kernel.exception.PortalException,
1061                            com.liferay.portal.kernel.exception.SystemException;
1062    
1063            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1064            public int getFoldersAndFileEntriesAndFileShortcutsCount(
1065                    long repositoryId, long folderId, int status,
1066                    java.lang.String[] mimeTypes, boolean includeMountFolders)
1067                    throws com.liferay.portal.kernel.exception.PortalException,
1068                            com.liferay.portal.kernel.exception.SystemException;
1069    
1070            /**
1071            * Returns the number of immediate subfolders of the parent folder.
1072            *
1073            * @param repositoryId the primary key of the folder's repository
1074            * @param parentFolderId the primary key of the folder's parent folder
1075            * @return the number of immediate subfolders of the parent folder
1076            * @throws PortalException if the parent folder could not be found
1077            * @throws SystemException if a system exception occurred
1078            */
1079            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1080            public int getFoldersCount(long repositoryId, long parentFolderId)
1081                    throws com.liferay.portal.kernel.exception.PortalException,
1082                            com.liferay.portal.kernel.exception.SystemException;
1083    
1084            /**
1085            * Returns the number of immediate subfolders of the parent folder,
1086            * optionally including mount folders for third-party repositories.
1087            *
1088            * @param repositoryId the primary key of the folder's repository
1089            * @param parentFolderId the primary key of the folder's parent folder
1090            * @param includeMountFolders whether to include mount folders for
1091            third-party repositories
1092            * @return the number of immediate subfolders of the parent folder
1093            * @throws PortalException if the parent folder could not be found
1094            * @throws SystemException if a system exception occurred
1095            */
1096            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1097            public int getFoldersCount(long repositoryId, long parentFolderId,
1098                    boolean includeMountFolders)
1099                    throws com.liferay.portal.kernel.exception.PortalException,
1100                            com.liferay.portal.kernel.exception.SystemException;
1101    
1102            /**
1103            * Returns the number of immediate subfolders and file entries across the
1104            * folders.
1105            *
1106            * @param repositoryId the primary key of the repository
1107            * @param folderIds the primary keys of folders from which to count
1108            immediate subfolders and file entries
1109            * @param status the workflow status
1110            * @return the number of immediate subfolders and file entries across the
1111            folders
1112            * @throws PortalException if the repository could not be found
1113            * @throws SystemException if a system exception occurred
1114            */
1115            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1116            public int getFoldersFileEntriesCount(long repositoryId,
1117                    java.util.List<java.lang.Long> folderIds, int status)
1118                    throws com.liferay.portal.kernel.exception.PortalException,
1119                            com.liferay.portal.kernel.exception.SystemException;
1120    
1121            /**
1122            * Returns an ordered range of all the file entries in the group starting at
1123            * the repository default parent folder that are stored within the Liferay
1124            * repository. This method is primarily used to search for recently modified
1125            * file entries. It can be limited to the file entries modified by a given
1126            * user.
1127            *
1128            * <p>
1129            * Useful when paginating results. Returns a maximum of <code>end -
1130            * start</code> instances. <code>start</code> and <code>end</code> are not
1131            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1132            * refers to the first result in the set. Setting both <code>start</code>
1133            * and <code>end</code> to {@link
1134            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1135            * result set.
1136            * </p>
1137            *
1138            * @param groupId the primary key of the group
1139            * @param userId the primary key of the user who created the file
1140            (optionally <code>0</code>)
1141            * @param start the lower bound of the range of results
1142            * @param end the upper bound of the range of results (not inclusive)
1143            * @return the range of matching file entries ordered by date modified
1144            * @throws PortalException if the group could not be found
1145            * @throws SystemException if a system exception occurred
1146            */
1147            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1148            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getGroupFileEntries(
1149                    long groupId, long userId, int start, int end)
1150                    throws com.liferay.portal.kernel.exception.PortalException,
1151                            com.liferay.portal.kernel.exception.SystemException;
1152    
1153            /**
1154            * Returns an ordered range of all the file entries in the group that are
1155            * stored within the Liferay repository. This method is primarily used to
1156            * search for recently modified file entries. It can be limited to the file
1157            * entries modified by a given user.
1158            *
1159            * <p>
1160            * Useful when paginating results. Returns a maximum of <code>end -
1161            * start</code> instances. <code>start</code> and <code>end</code> are not
1162            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1163            * refers to the first result in the set. Setting both <code>start</code>
1164            * and <code>end</code> to {@link
1165            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1166            * result set.
1167            * </p>
1168            *
1169            * @param groupId the primary key of the group
1170            * @param userId the primary key of the user who created the file
1171            (optionally <code>0</code>)
1172            * @param start the lower bound of the range of results
1173            * @param end the upper bound of the range of results (not inclusive)
1174            * @param obc the comparator to order the file entries (optionally
1175            <code>null</code>)
1176            * @return the range of matching file entries ordered by comparator
1177            <code>obc</code>
1178            * @throws PortalException if the group could not be found
1179            * @throws SystemException if a system exception occurred
1180            */
1181            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1182            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getGroupFileEntries(
1183                    long groupId, long userId, int start, int end,
1184                    com.liferay.portal.kernel.util.OrderByComparator obc)
1185                    throws com.liferay.portal.kernel.exception.PortalException,
1186                            com.liferay.portal.kernel.exception.SystemException;
1187    
1188            /**
1189            * Returns an ordered range of all the file entries in the group starting at
1190            * the root folder that are stored within the Liferay repository. This
1191            * method is primarily used to search for recently modified file entries. It
1192            * can be limited to the file entries modified by a given user.
1193            *
1194            * <p>
1195            * Useful when paginating results. Returns a maximum of <code>end -
1196            * start</code> instances. <code>start</code> and <code>end</code> are not
1197            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1198            * refers to the first result in the set. Setting both <code>start</code>
1199            * and <code>end</code> to {@link
1200            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1201            * result set.
1202            * </p>
1203            *
1204            * @param groupId the primary key of the group
1205            * @param userId the primary key of the user who created the file
1206            (optionally <code>0</code>)
1207            * @param rootFolderId the primary key of the root folder to begin the
1208            search
1209            * @param start the lower bound of the range of results
1210            * @param end the upper bound of the range of results (not inclusive)
1211            * @return the range of matching file entries ordered by date modified
1212            * @throws PortalException if the group could not be found
1213            * @throws SystemException if a system exception occurred
1214            */
1215            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1216            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getGroupFileEntries(
1217                    long groupId, long userId, long rootFolderId, int start, int end)
1218                    throws com.liferay.portal.kernel.exception.PortalException,
1219                            com.liferay.portal.kernel.exception.SystemException;
1220    
1221            /**
1222            * Returns an ordered range of all the file entries in the group starting at
1223            * the root folder that are stored within the Liferay repository. This
1224            * method is primarily used to search for recently modified file entries. It
1225            * can be limited to the file entries modified by a given user.
1226            *
1227            * <p>
1228            * Useful when paginating results. Returns a maximum of <code>end -
1229            * start</code> instances. <code>start</code> and <code>end</code> are not
1230            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1231            * refers to the first result in the set. Setting both <code>start</code>
1232            * and <code>end</code> to {@link
1233            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1234            * result set.
1235            * </p>
1236            *
1237            * @param groupId the primary key of the group
1238            * @param userId the primary key of the user who created the file
1239            (optionally <code>0</code>)
1240            * @param rootFolderId the primary key of the root folder to begin the
1241            search
1242            * @param start the lower bound of the range of results
1243            * @param end the upper bound of the range of results (not inclusive)
1244            * @param obc the comparator to order the file entries (optionally
1245            <code>null</code>)
1246            * @return the range of matching file entries ordered by comparator
1247            <code>obc</code>
1248            * @throws PortalException if the group could not be found
1249            * @throws SystemException if a system exception occurred
1250            */
1251            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1252            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getGroupFileEntries(
1253                    long groupId, long userId, long rootFolderId, int start, int end,
1254                    com.liferay.portal.kernel.util.OrderByComparator obc)
1255                    throws com.liferay.portal.kernel.exception.PortalException,
1256                            com.liferay.portal.kernel.exception.SystemException;
1257    
1258            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1259            public java.util.List<com.liferay.portal.kernel.repository.model.FileEntry> getGroupFileEntries(
1260                    long groupId, long userId, long rootFolderId,
1261                    java.lang.String[] mimeTypes, int status, int start, int end,
1262                    com.liferay.portal.kernel.util.OrderByComparator obc)
1263                    throws com.liferay.portal.kernel.exception.PortalException,
1264                            com.liferay.portal.kernel.exception.SystemException;
1265    
1266            /**
1267            * Returns the number of file entries in a group starting at the repository
1268            * default parent folder that are stored within the Liferay repository. This
1269            * method is primarily used to search for recently modified file entries. It
1270            * can be limited to the file entries modified by a given user.
1271            *
1272            * @param groupId the primary key of the group
1273            * @param userId the primary key of the user who created the file
1274            (optionally <code>0</code>)
1275            * @return the number of matching file entries
1276            * @throws PortalException if the group could not be found
1277            * @throws SystemException if a system exception occurred
1278            */
1279            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1280            public int getGroupFileEntriesCount(long groupId, long userId)
1281                    throws com.liferay.portal.kernel.exception.PortalException,
1282                            com.liferay.portal.kernel.exception.SystemException;
1283    
1284            /**
1285            * Returns the number of file entries in a group starting at the root folder
1286            * that are stored within the Liferay repository. This method is primarily
1287            * used to search for recently modified file entries. It can be limited to
1288            * the file entries modified by a given user.
1289            *
1290            * @param groupId the primary key of the group
1291            * @param userId the primary key of the user who created the file
1292            (optionally <code>0</code>)
1293            * @param rootFolderId the primary key of the root folder to begin the
1294            search
1295            * @return the number of matching file entries
1296            * @throws PortalException if the group could not be found
1297            * @throws SystemException if a system exception occurred
1298            */
1299            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1300            public int getGroupFileEntriesCount(long groupId, long userId,
1301                    long rootFolderId)
1302                    throws com.liferay.portal.kernel.exception.PortalException,
1303                            com.liferay.portal.kernel.exception.SystemException;
1304    
1305            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1306            public int getGroupFileEntriesCount(long groupId, long userId,
1307                    long rootFolderId, java.lang.String[] mimeTypes, int status)
1308                    throws com.liferay.portal.kernel.exception.PortalException,
1309                            com.liferay.portal.kernel.exception.SystemException;
1310    
1311            /**
1312            * Returns all immediate subfolders of the parent folder that are used for
1313            * mounting third-party repositories. This method is only supported by the
1314            * Liferay repository.
1315            *
1316            * @param repositoryId the primary key of the folder's repository
1317            * @param parentFolderId the primary key of the folder's parent folder
1318            * @return the immediate subfolders of the parent folder that are used for
1319            mounting third-party repositories
1320            * @throws PortalException if the repository or parent folder could not be
1321            found
1322            * @throws SystemException if a system exception occurred
1323            */
1324            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1325            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getMountFolders(
1326                    long repositoryId, long parentFolderId)
1327                    throws com.liferay.portal.kernel.exception.PortalException,
1328                            com.liferay.portal.kernel.exception.SystemException;
1329    
1330            /**
1331            * Returns a range of all the immediate subfolders of the parent folder that
1332            * are used for mounting third-party repositories. This method is only
1333            * supported by the Liferay repository.
1334            *
1335            * <p>
1336            * Useful when paginating results. Returns a maximum of <code>end -
1337            * start</code> instances. <code>start</code> and <code>end</code> are not
1338            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1339            * refers to the first result in the set. Setting both <code>start</code>
1340            * and <code>end</code> to {@link
1341            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1342            * result set.
1343            * </p>
1344            *
1345            * @param repositoryId the primary key of the repository
1346            * @param parentFolderId the primary key of the parent folder
1347            * @param start the lower bound of the range of results
1348            * @param end the upper bound of the range of results (not inclusive)
1349            * @return the range of immediate subfolders of the parent folder that are
1350            used for mounting third-party repositories
1351            * @throws PortalException if the repository or parent folder could not be
1352            found
1353            * @throws SystemException if a system exception occurred
1354            */
1355            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1356            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getMountFolders(
1357                    long repositoryId, long parentFolderId, int start, int end)
1358                    throws com.liferay.portal.kernel.exception.PortalException,
1359                            com.liferay.portal.kernel.exception.SystemException;
1360    
1361            /**
1362            * Returns an ordered range of all the immediate subfolders of the parent
1363            * folder that are used for mounting third-party repositories. This method
1364            * is only supported by the Liferay repository.
1365            *
1366            * <p>
1367            * Useful when paginating results. Returns a maximum of <code>end -
1368            * start</code> instances. <code>start</code> and <code>end</code> are not
1369            * primary keys, they are indexes in the result set. Thus, <code>0</code>
1370            * refers to the first result in the set. Setting both <code>start</code>
1371            * and <code>end</code> to {@link
1372            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
1373            * result set.
1374            * </p>
1375            *
1376            * @param repositoryId the primary key of the folder's repository
1377            * @param parentFolderId the primary key of the folder's parent folder
1378            * @param start the lower bound of the range of results
1379            * @param end the upper bound of the range of results (not inclusive)
1380            * @param obc the comparator to order the folders (optionally
1381            <code>null</code>)
1382            * @return the range of immediate subfolders of the parent folder that are
1383            used for mounting third-party repositories ordered by comparator
1384            <code>obc</code>
1385            * @throws PortalException if the repository or parent folder could not be
1386            found
1387            * @throws SystemException if a system exception occurred
1388            */
1389            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1390            public java.util.List<com.liferay.portal.kernel.repository.model.Folder> getMountFolders(
1391                    long repositoryId, long parentFolderId, int start, int end,
1392                    com.liferay.portal.kernel.util.OrderByComparator obc)
1393                    throws com.liferay.portal.kernel.exception.PortalException,
1394                            com.liferay.portal.kernel.exception.SystemException;
1395    
1396            /**
1397            * Returns the number of immediate subfolders of the parent folder that are
1398            * used for mounting third-party repositories. This method is only supported
1399            * by the Liferay repository.
1400            *
1401            * @param repositoryId the primary key of the repository
1402            * @param parentFolderId the primary key of the parent folder
1403            * @return the number of folders of the parent folder that are used for
1404            mounting third-party repositories
1405            * @throws PortalException if the repository or parent folder could not be
1406            found
1407            * @throws SystemException if a system exception occurred
1408            */
1409            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1410            public int getMountFoldersCount(long repositoryId, long parentFolderId)
1411                    throws com.liferay.portal.kernel.exception.PortalException,
1412                            com.liferay.portal.kernel.exception.SystemException;
1413    
1414            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1415            public void getSubfolderIds(long repositoryId,
1416                    java.util.List<java.lang.Long> folderIds, long folderId)
1417                    throws com.liferay.portal.kernel.exception.PortalException,
1418                            com.liferay.portal.kernel.exception.SystemException;
1419    
1420            /**
1421            * Returns all the descendant folders of the folder with the primary key.
1422            *
1423            * @param repositoryId the primary key of the repository
1424            * @param folderId the primary key of the folder
1425            * @return the descendant folders of the folder with the primary key
1426            * @throws PortalException if the repository or parent folder could not be
1427            found
1428            * @throws SystemException if a system exception occurred
1429            */
1430            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1431            public java.util.List<java.lang.Long> getSubfolderIds(long repositoryId,
1432                    long folderId)
1433                    throws com.liferay.portal.kernel.exception.PortalException,
1434                            com.liferay.portal.kernel.exception.SystemException;
1435    
1436            /**
1437            * Returns descendant folders of the folder with the primary key, optionally
1438            * limiting to one level deep.
1439            *
1440            * @param repositoryId the primary key of the repository
1441            * @param folderId the primary key of the folder
1442            * @param recurse whether to recurse through each subfolder
1443            * @return the descendant folders of the folder with the primary key
1444            * @throws PortalException if the repository or parent folder could not be
1445            found
1446            * @throws SystemException if a system exception occurred
1447            */
1448            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1449            public java.util.List<java.lang.Long> getSubfolderIds(long repositoryId,
1450                    long folderId, boolean recurse)
1451                    throws com.liferay.portal.kernel.exception.PortalException,
1452                            com.liferay.portal.kernel.exception.SystemException;
1453    
1454            /**
1455            * Returns all the temporary file entry names.
1456            *
1457            * @param groupId the primary key of the group
1458            * @param folderId the primary key of the folder where the file entry will
1459            eventually reside
1460            * @param tempFolderName the temporary folder's name
1461            * @return the temporary file entry names
1462            * @throws PortalException if the folder was invalid
1463            * @throws SystemException if a system exception occurred
1464            * @see #addTempFileEntry(long, long, String, String, File)
1465            * @see com.liferay.portal.kernel.util.TempFileUtil
1466            */
1467            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1468            public java.lang.String[] getTempFileEntryNames(long groupId,
1469                    long folderId, java.lang.String tempFolderName)
1470                    throws com.liferay.portal.kernel.exception.PortalException,
1471                            com.liferay.portal.kernel.exception.SystemException;
1472    
1473            public com.liferay.portal.model.Lock lockFileEntry(long fileEntryId)
1474                    throws com.liferay.portal.kernel.exception.PortalException,
1475                            com.liferay.portal.kernel.exception.SystemException;
1476    
1477            public com.liferay.portal.model.Lock lockFileEntry(long fileEntryId,
1478                    java.lang.String owner, long expirationTime)
1479                    throws com.liferay.portal.kernel.exception.PortalException,
1480                            com.liferay.portal.kernel.exception.SystemException;
1481    
1482            /**
1483            * Locks the folder. This method is primarily used by WebDAV.
1484            *
1485            * @param repositoryId the primary key of the repository
1486            * @param folderId the primary key of the folder
1487            * @return the lock object
1488            * @throws PortalException if the repository or folder could not be found
1489            * @throws SystemException if a system exception occurred
1490            */
1491            public com.liferay.portal.model.Lock lockFolder(long repositoryId,
1492                    long folderId)
1493                    throws com.liferay.portal.kernel.exception.PortalException,
1494                            com.liferay.portal.kernel.exception.SystemException;
1495    
1496            /**
1497            * Locks the folder. This method is primarily used by WebDAV.
1498            *
1499            * @param repositoryId the primary key of the repository
1500            * @param folderId the primary key of the folder
1501            * @param owner the owner string for the checkout (optionally
1502            <code>null</code>)
1503            * @param inheritable whether the lock must propagate to descendants
1504            * @param expirationTime the time in milliseconds before the lock expires.
1505            If the value is <code>0</code>, the default expiration time will
1506            be used from <code>portal.properties>.
1507            * @return the lock object
1508            * @throws PortalException if the repository or folder could not be found
1509            * @throws SystemException if a system exception occurred
1510            */
1511            public com.liferay.portal.model.Lock lockFolder(long repositoryId,
1512                    long folderId, java.lang.String owner, boolean inheritable,
1513                    long expirationTime)
1514                    throws com.liferay.portal.kernel.exception.PortalException,
1515                            com.liferay.portal.kernel.exception.SystemException;
1516    
1517            /**
1518            * Moves the file entry to the new folder.
1519            *
1520            * @param fileEntryId the primary key of the file entry
1521            * @param newFolderId the primary key of the new folder
1522            * @param serviceContext the service context to be applied
1523            * @return the file entry
1524            * @throws PortalException if the file entry or the new folder could not be
1525            found
1526            * @throws SystemException if a system exception occurred
1527            */
1528            public com.liferay.portal.kernel.repository.model.FileEntry moveFileEntry(
1529                    long fileEntryId, long newFolderId,
1530                    com.liferay.portal.service.ServiceContext serviceContext)
1531                    throws com.liferay.portal.kernel.exception.PortalException,
1532                            com.liferay.portal.kernel.exception.SystemException;
1533    
1534            /**
1535            * Moves the folder to the new parent folder with the primary key.
1536            *
1537            * @param folderId the primary key of the folder
1538            * @param parentFolderId the primary key of the new parent folder
1539            * @param serviceContext the service context to be applied
1540            * @return the file entry
1541            * @throws PortalException if the folder could not be found
1542            * @throws SystemException if a system exception occurred
1543            */
1544            public com.liferay.portal.kernel.repository.model.Folder moveFolder(
1545                    long folderId, long parentFolderId,
1546                    com.liferay.portal.service.ServiceContext serviceContext)
1547                    throws com.liferay.portal.kernel.exception.PortalException,
1548                            com.liferay.portal.kernel.exception.SystemException;
1549    
1550            /**
1551            * Refreshes the lock for the file entry. This method is primarily used by
1552            * WebDAV.
1553            *
1554            * @param lockUuid the lock's universally unique identifier
1555            * @param expirationTime the time in milliseconds before the lock expires.
1556            If the value is <code>0</code>, the default expiration time will
1557            be used from <code>portal.properties>.
1558            * @return the lock object
1559            * @throws PortalException if the file entry or lock could not be found
1560            * @throws SystemException if a system exception occurred
1561            */
1562            public com.liferay.portal.model.Lock refreshFileEntryLock(
1563                    java.lang.String lockUuid, long expirationTime)
1564                    throws com.liferay.portal.kernel.exception.PortalException,
1565                            com.liferay.portal.kernel.exception.SystemException;
1566    
1567            /**
1568            * Refreshes the lock for the folder. This method is primarily used by
1569            * WebDAV.
1570            *
1571            * @param lockUuid the lock's universally unique identifier
1572            * @param expirationTime the time in milliseconds before the lock expires.
1573            If the value is <code>0</code>, the default expiration time will
1574            be used from <code>portal.properties>.
1575            * @return the lock object
1576            * @throws PortalException if the folder or lock could not be found
1577            * @throws SystemException if a system exception occurred
1578            */
1579            public com.liferay.portal.model.Lock refreshFolderLock(
1580                    java.lang.String lockUuid, long expirationTime)
1581                    throws com.liferay.portal.kernel.exception.PortalException,
1582                            com.liferay.portal.kernel.exception.SystemException;
1583    
1584            /**
1585            * Reverts the file entry to a previous version. A new version will be
1586            * created based on the previous version and metadata.
1587            *
1588            * @param fileEntryId the primary key of the file entry
1589            * @param version the version to revert back to
1590            * @param serviceContext the service context to be applied
1591            * @throws PortalException if the file entry or version could not be found
1592            * @throws SystemException if a system exception occurred
1593            */
1594            public void revertFileEntry(long fileEntryId, java.lang.String version,
1595                    com.liferay.portal.service.ServiceContext serviceContext)
1596                    throws com.liferay.portal.kernel.exception.PortalException,
1597                            com.liferay.portal.kernel.exception.SystemException;
1598    
1599            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1600            public com.liferay.portal.kernel.search.Hits search(long repositoryId,
1601                    com.liferay.portal.kernel.search.SearchContext searchContext)
1602                    throws com.liferay.portal.kernel.search.SearchException;
1603    
1604            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1605            public com.liferay.portal.kernel.search.Hits search(long repositoryId,
1606                    com.liferay.portal.kernel.search.SearchContext searchContext,
1607                    com.liferay.portal.kernel.search.Query query)
1608                    throws com.liferay.portal.kernel.search.SearchException;
1609    
1610            public void unlockFileEntry(long fileEntryId)
1611                    throws com.liferay.portal.kernel.exception.PortalException,
1612                            com.liferay.portal.kernel.exception.SystemException;
1613    
1614            public void unlockFileEntry(long fileEntryId, java.lang.String lockUuid)
1615                    throws com.liferay.portal.kernel.exception.PortalException,
1616                            com.liferay.portal.kernel.exception.SystemException;
1617    
1618            /**
1619            * Unlocks the folder. This method is primarily used by WebDAV.
1620            *
1621            * @param repositoryId the primary key of the repository
1622            * @param folderId the primary key of the folder
1623            * @param lockUuid the lock's universally unique identifier
1624            * @throws PortalException if the repository or folder could not be found
1625            * @throws SystemException if a system exception occurred
1626            */
1627            public void unlockFolder(long repositoryId, long folderId,
1628                    java.lang.String lockUuid)
1629                    throws com.liferay.portal.kernel.exception.PortalException,
1630                            com.liferay.portal.kernel.exception.SystemException;
1631    
1632            /**
1633            * Unlocks the folder. This method is primarily used by WebDAV.
1634            *
1635            * @param repositoryId the primary key of the repository
1636            * @param parentFolderId the primary key of the parent folder
1637            * @param name the folder's name
1638            * @param lockUuid the lock's universally unique identifier
1639            * @throws PortalException if the repository or folder could not be found
1640            * @throws SystemException if a system exception occurred
1641            */
1642            public void unlockFolder(long repositoryId, long parentFolderId,
1643                    java.lang.String name, java.lang.String lockUuid)
1644                    throws com.liferay.portal.kernel.exception.PortalException,
1645                            com.liferay.portal.kernel.exception.SystemException;
1646    
1647            /**
1648            * Updates a file entry and associated metadata based on a byte array
1649            * object. If the file data is <code>null</code>, then only the associated
1650            * metadata (i.e., <code>title</code>, <code>description</code>, and
1651            * parameters in the <code>serviceContext</code>) will be updated.
1652            *
1653            * <p>
1654            * This method takes two file names, the <code>sourceFileName</code> and the
1655            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
1656            * name of the actual file being uploaded. The <code>title</code>
1657            * corresponds to a name the client wishes to assign this file after it has
1658            * been uploaded to the portal.
1659            * </p>
1660            *
1661            * @param fileEntryId the primary key of the file entry
1662            * @param sourceFileName the original file's name (optionally
1663            <code>null</code>)
1664            * @param mimeType the file's MIME type (optionally <code>null</code>)
1665            * @param title the new name to be assigned to the file (optionally <code>
1666            <code>null</code></code>)
1667            * @param description the file's new description
1668            * @param changeLog the file's version change log (optionally
1669            <code>null</code>)
1670            * @param majorVersion whether the new file version is a major version
1671            * @param bytes the file's data (optionally <code>null</code>)
1672            * @param serviceContext the service context to be applied. Can set the
1673            asset category IDs, asset tag names, and expando bridge
1674            attributes for the file entry. In a Liferay repository, it may
1675            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
1676            type </li> <li> fieldsMap - mapping for fields associated with a
1677            custom file entry type </li> </ul>
1678            * @return the file entry
1679            * @throws PortalException if the file entry could not be found
1680            * @throws SystemException if a system exception occurred
1681            */
1682            public com.liferay.portal.kernel.repository.model.FileEntry updateFileEntry(
1683                    long fileEntryId, java.lang.String sourceFileName,
1684                    java.lang.String mimeType, java.lang.String title,
1685                    java.lang.String description, java.lang.String changeLog,
1686                    boolean majorVersion, byte[] bytes,
1687                    com.liferay.portal.service.ServiceContext serviceContext)
1688                    throws com.liferay.portal.kernel.exception.PortalException,
1689                            com.liferay.portal.kernel.exception.SystemException;
1690    
1691            /**
1692            * Updates a file entry and associated metadata based on a {@link File}
1693            * object. If the file data is <code>null</code>, then only the associated
1694            * metadata (i.e., <code>title</code>, <code>description</code>, and
1695            * parameters in the <code>serviceContext</code>) will be updated.
1696            *
1697            * <p>
1698            * This method takes two file names, the <code>sourceFileName</code> and the
1699            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
1700            * name of the actual file being uploaded. The <code>title</code>
1701            * corresponds to a name the client wishes to assign this file after it has
1702            * been uploaded to the portal.
1703            * </p>
1704            *
1705            * @param fileEntryId the primary key of the file entry
1706            * @param sourceFileName the original file's name (optionally
1707            <code>null</code>)
1708            * @param mimeType the file's MIME type (optionally <code>null</code>)
1709            * @param title the new name to be assigned to the file (optionally <code>
1710            <code>null</code></code>)
1711            * @param description the file's new description
1712            * @param changeLog the file's version change log (optionally
1713            <code>null</code>)
1714            * @param majorVersion whether the new file version is a major version
1715            * @param file EntryId the primary key of the file entry
1716            * @param serviceContext the service context to be applied. Can set the
1717            asset category IDs, asset tag names, and expando bridge
1718            attributes for the file entry. In a Liferay repository, it may
1719            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
1720            type </li> <li> fieldsMap - mapping for fields associated with a
1721            custom file entry type </li> </ul>
1722            * @return the file entry
1723            * @throws PortalException if the file entry could not be found
1724            * @throws SystemException if a system exception occurred
1725            */
1726            public com.liferay.portal.kernel.repository.model.FileEntry updateFileEntry(
1727                    long fileEntryId, java.lang.String sourceFileName,
1728                    java.lang.String mimeType, java.lang.String title,
1729                    java.lang.String description, java.lang.String changeLog,
1730                    boolean majorVersion, java.io.File file,
1731                    com.liferay.portal.service.ServiceContext serviceContext)
1732                    throws com.liferay.portal.kernel.exception.PortalException,
1733                            com.liferay.portal.kernel.exception.SystemException;
1734    
1735            /**
1736            * Updates a file entry and associated metadata based on an {@link
1737            * InputStream} object. If the file data is <code>null</code>, then only the
1738            * associated metadata (i.e., <code>title</code>, <code>description</code>,
1739            * and parameters in the <code>serviceContext</code>) will be updated.
1740            *
1741            * <p>
1742            * This method takes two file names, the <code>sourceFileName</code> and the
1743            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
1744            * name of the actual file being uploaded. The <code>title</code>
1745            * corresponds to a name the client wishes to assign this file after it has
1746            * been uploaded to the portal.
1747            * </p>
1748            *
1749            * @param fileEntryId the primary key of the file entry
1750            * @param sourceFileName the original file's name (optionally
1751            <code>null</code>)
1752            * @param mimeType the file's MIME type (optionally <code>null</code>)
1753            * @param title the new name to be assigned to the file (optionally <code>
1754            <code>null</code></code>)
1755            * @param description the file's new description
1756            * @param changeLog the file's version change log (optionally
1757            <code>null</code>)
1758            * @param majorVersion whether the new file version is a major version
1759            * @param is the file's data (optionally <code>null</code>)
1760            * @param size the file's size (optionally <code>0</code>)
1761            * @param serviceContext the service context to be applied. Can set the
1762            asset category IDs, asset tag names, and expando bridge
1763            attributes for the file entry. In a Liferay repository, it may
1764            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
1765            type </li> <li> fieldsMap - mapping for fields associated with a
1766            custom file entry type </li> </ul>
1767            * @return the file entry
1768            * @throws PortalException if the file entry could not be found
1769            * @throws SystemException if a system exception occurred
1770            */
1771            public com.liferay.portal.kernel.repository.model.FileEntry updateFileEntry(
1772                    long fileEntryId, java.lang.String sourceFileName,
1773                    java.lang.String mimeType, java.lang.String title,
1774                    java.lang.String description, java.lang.String changeLog,
1775                    boolean majorVersion, java.io.InputStream is, long size,
1776                    com.liferay.portal.service.ServiceContext serviceContext)
1777                    throws com.liferay.portal.kernel.exception.PortalException,
1778                            com.liferay.portal.kernel.exception.SystemException;
1779    
1780            public com.liferay.portal.kernel.repository.model.FileEntry updateFileEntryAndCheckIn(
1781                    long fileEntryId, java.lang.String sourceFileName,
1782                    java.lang.String mimeType, java.lang.String title,
1783                    java.lang.String description, java.lang.String changeLog,
1784                    boolean majorVersion, java.io.File file,
1785                    com.liferay.portal.service.ServiceContext serviceContext)
1786                    throws com.liferay.portal.kernel.exception.PortalException,
1787                            com.liferay.portal.kernel.exception.SystemException;
1788    
1789            public com.liferay.portal.kernel.repository.model.FileEntry updateFileEntryAndCheckIn(
1790                    long fileEntryId, java.lang.String sourceFileName,
1791                    java.lang.String mimeType, java.lang.String title,
1792                    java.lang.String description, java.lang.String changeLog,
1793                    boolean majorVersion, java.io.InputStream is, long size,
1794                    com.liferay.portal.service.ServiceContext serviceContext)
1795                    throws com.liferay.portal.kernel.exception.PortalException,
1796                            com.liferay.portal.kernel.exception.SystemException;
1797    
1798            /**
1799            * Updates a file shortcut to the existing file entry. This method is only
1800            * supported by the Liferay repository.
1801            *
1802            * @param fileShortcutId the primary key of the file shortcut
1803            * @param folderId the primary key of the file shortcut's parent folder
1804            * @param toFileEntryId the primary key of the file shortcut's file entry
1805            * @param serviceContext the service context to be applied. Can set the
1806            asset category IDs, asset tag names, and expando bridge
1807            attributes for the file entry.
1808            * @return the file shortcut
1809            * @throws PortalException if the file shortcut, folder, or file entry could
1810            not be found
1811            * @throws SystemException if a system exception occurred
1812            */
1813            public com.liferay.portlet.documentlibrary.model.DLFileShortcut updateFileShortcut(
1814                    long fileShortcutId, long folderId, long toFileEntryId,
1815                    com.liferay.portal.service.ServiceContext serviceContext)
1816                    throws com.liferay.portal.kernel.exception.PortalException,
1817                            com.liferay.portal.kernel.exception.SystemException;
1818    
1819            /**
1820            * Updates the folder.
1821            *
1822            * @param folderId the primary key of the folder
1823            * @param name the folder's new name
1824            * @param description the folder's new description
1825            * @param serviceContext the service context to be applied. In a Liferay
1826            repository, it may include:  <ul> <li> defaultFileEntryTypeId -
1827            the file entry type to default all Liferay file entries to </li>
1828            <li> fileEntryTypeSearchContainerPrimaryKeys - a comma-delimited
1829            list of file entry type primary keys allowed in the given folder
1830            and all descendants </li> <li> overrideFileEntryTypes - boolean
1831            specifying whether to override ancestral folder's restriction of
1832            file entry types allowed </li> <li> workflowDefinitionXYZ - the
1833            workflow definition name specified per file entry type. The
1834            parameter name must be the string <code>workflowDefinition</code>
1835            appended by the <code>fileEntryTypeId</code> (optionally
1836            <code>0</code>). </li> </ul>
1837            * @return the folder
1838            * @throws PortalException if the current or new parent folder could not be
1839            found or if the new parent folder's information was invalid
1840            * @throws SystemException if a system exception occurred
1841            */
1842            public com.liferay.portal.kernel.repository.model.Folder updateFolder(
1843                    long folderId, java.lang.String name, java.lang.String description,
1844                    com.liferay.portal.service.ServiceContext serviceContext)
1845                    throws com.liferay.portal.kernel.exception.PortalException,
1846                            com.liferay.portal.kernel.exception.SystemException;
1847    
1848            /**
1849            * Returns <code>true</code> if the file entry is checked out. This method
1850            * is primarily used by WebDAV.
1851            *
1852            * @param repositoryId the primary key for the repository
1853            * @param fileEntryId the primary key for the file entry
1854            * @param lockUuid the lock's universally unique identifier
1855            * @return <code>true</code> if the file entry is checked out;
1856            <code>false</code> otherwise
1857            * @throws PortalException if the file entry could not be found
1858            * @throws SystemException if a system exception occurred
1859            */
1860            public boolean verifyFileEntryCheckOut(long repositoryId, long fileEntryId,
1861                    java.lang.String lockUuid)
1862                    throws com.liferay.portal.kernel.exception.PortalException,
1863                            com.liferay.portal.kernel.exception.SystemException;
1864    
1865            public boolean verifyFileEntryLock(long repositoryId, long fileEntryId,
1866                    java.lang.String lockUuid)
1867                    throws com.liferay.portal.kernel.exception.PortalException,
1868                            com.liferay.portal.kernel.exception.SystemException;
1869    
1870            /**
1871            * Returns <code>true</code> if the inheritable lock exists. This method is
1872            * primarily used by WebDAV.
1873            *
1874            * @param repositoryId the primary key for the repository
1875            * @param folderId the primary key for the folder
1876            * @param lockUuid the lock's universally unique identifier
1877            * @return <code>true</code> if the inheritable lock exists;
1878            <code>false</code> otherwise
1879            * @throws PortalException if the folder could not be found
1880            * @throws SystemException if a system exception occurred
1881            */
1882            public boolean verifyInheritableLock(long repositoryId, long folderId,
1883                    java.lang.String lockUuid)
1884                    throws com.liferay.portal.kernel.exception.PortalException,
1885                            com.liferay.portal.kernel.exception.SystemException;
1886    }