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