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