001    /**
002     * Copyright (c) 2000-present 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.document.library.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.document.library.kernel.model.DLFileRank;
020    
021    import com.liferay.portal.kernel.exception.PortalException;
022    import com.liferay.portal.kernel.exception.SystemException;
023    import com.liferay.portal.kernel.repository.model.FileEntry;
024    import com.liferay.portal.kernel.repository.model.FileShortcut;
025    import com.liferay.portal.kernel.repository.model.FileVersion;
026    import com.liferay.portal.kernel.repository.model.Folder;
027    import com.liferay.portal.kernel.service.BaseLocalService;
028    import com.liferay.portal.kernel.service.ServiceContext;
029    import com.liferay.portal.kernel.transaction.Isolation;
030    import com.liferay.portal.kernel.transaction.Propagation;
031    import com.liferay.portal.kernel.transaction.Transactional;
032    
033    import java.io.File;
034    import java.io.InputStream;
035    
036    import java.util.List;
037    
038    /**
039     * Provides the local service interface for DLApp. Methods of this
040     * service will not have security checks based on the propagated JAAS
041     * credentials because this service can only be accessed from within the same
042     * VM.
043     *
044     * @author Brian Wing Shun Chan
045     * @see DLAppLocalServiceUtil
046     * @see com.liferay.portlet.documentlibrary.service.base.DLAppLocalServiceBaseImpl
047     * @see com.liferay.portlet.documentlibrary.service.impl.DLAppLocalServiceImpl
048     * @generated
049     */
050    @ProviderType
051    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
052            PortalException.class, SystemException.class})
053    public interface DLAppLocalService extends BaseLocalService {
054            /*
055             * NOTE FOR DEVELOPERS:
056             *
057             * Never modify or reference this interface directly. Always use {@link DLAppLocalServiceUtil} to access the d l app local service. Add custom service methods to {@link com.liferay.portlet.documentlibrary.service.impl.DLAppLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
058             */
059    
060            /**
061            * Adds the file rank to the existing file entry. This method is only
062            * supported by the Liferay repository.
063            *
064            * @param repositoryId the primary key of the repository
065            * @param companyId the primary key of the company
066            * @param userId the primary key of the file rank's creator/owner
067            * @param fileEntryId the primary key of the file entry
068            * @param serviceContext the service context to be applied
069            * @return the file rank
070            */
071            public DLFileRank addFileRank(long repositoryId, long companyId,
072                    long userId, long fileEntryId, ServiceContext serviceContext);
073    
074            /**
075            * Updates a file rank to the existing file entry. This method is only
076            * supported by the Liferay repository.
077            *
078            * @param repositoryId the primary key of the file rank's repository
079            * @param companyId the primary key of the file rank's company
080            * @param userId the primary key of the file rank's creator/owner
081            * @param fileEntryId the primary key of the file rank's file entry
082            * @param serviceContext the service context to be applied
083            * @return the file rank
084            */
085            public DLFileRank updateFileRank(long repositoryId, long companyId,
086                    long userId, long fileEntryId, ServiceContext serviceContext);
087    
088            public FileEntry addFileEntry(long userId, long repositoryId,
089                    long folderId, java.lang.String sourceFileName,
090                    java.lang.String mimeType, byte[] bytes, ServiceContext serviceContext)
091                    throws PortalException;
092    
093            /**
094            * Adds a file entry and associated metadata based on a byte array.
095            *
096            * <p>
097            * This method takes two file names, the <code>sourceFileName</code> and the
098            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
099            * name of the actual file being uploaded. The <code>title</code>
100            * corresponds to a name the client wishes to assign this file after it has
101            * been uploaded to the portal. If it is <code>null</code>, the <code>
102            * sourceFileName</code> will be used.
103            * </p>
104            *
105            * @param userId the primary key of the file entry's creator/owner
106            * @param repositoryId the primary key of the file entry's repository
107            * @param folderId the primary key of the file entry's parent folder
108            * @param sourceFileName the original file's name
109            * @param mimeType the file's MIME type
110            * @param title the name to be assigned to the file (optionally <code>null
111            </code>)
112            * @param description the file's description
113            * @param changeLog the file's version change log
114            * @param bytes the file's data (optionally <code>null</code>)
115            * @param serviceContext the service context to be applied. Can set the
116            asset category IDs, asset tag names, and expando bridge
117            attributes for the file entry. In a Liferay repository, it may
118            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
119            type </li> <li> fieldsMap - mapping for fields associated with a
120            custom file entry type </li> </ul>
121            * @return the file entry
122            */
123            public FileEntry addFileEntry(long userId, long repositoryId,
124                    long folderId, java.lang.String sourceFileName,
125                    java.lang.String mimeType, java.lang.String title,
126                    java.lang.String description, java.lang.String changeLog, byte[] bytes,
127                    ServiceContext serviceContext) throws PortalException;
128    
129            /**
130            * Adds a file entry and associated metadata based on a {@link File} object.
131            *
132            * <p>
133            * This method takes two file names, the <code>sourceFileName</code> and the
134            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
135            * name of the actual file being uploaded. The <code>title</code>
136            * corresponds to a name the client wishes to assign this file after it has
137            * been uploaded to the portal. If it is <code>null</code>, the <code>
138            * sourceFileName</code> will be used.
139            * </p>
140            *
141            * @param userId the primary key of the file entry's creator/owner
142            * @param repositoryId the primary key of the repository
143            * @param folderId the primary key of the file entry's parent folder
144            * @param sourceFileName the original file's name
145            * @param mimeType the file's MIME type
146            * @param title the name to be assigned to the file (optionally <code>null
147            </code>)
148            * @param description the file's description
149            * @param changeLog the file's version change log
150            * @param file the file's data (optionally <code>null</code>)
151            * @param serviceContext the service context to be applied. Can set the
152            asset category IDs, asset tag names, and expando bridge
153            attributes for the file entry. In a Liferay repository, it may
154            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
155            type </li> <li> fieldsMap - mapping for fields associated with a
156            custom file entry type </li> </ul>
157            * @return the file entry
158            */
159            public FileEntry addFileEntry(long userId, long repositoryId,
160                    long folderId, java.lang.String sourceFileName,
161                    java.lang.String mimeType, java.lang.String title,
162                    java.lang.String description, java.lang.String changeLog, File file,
163                    ServiceContext serviceContext) throws PortalException;
164    
165            /**
166            * Adds a file entry and associated metadata based on an {@link InputStream}
167            * object.
168            *
169            * <p>
170            * This method takes two file names, the <code>sourceFileName</code> and the
171            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
172            * name of the actual file being uploaded. The <code>title</code>
173            * corresponds to a name the client wishes to assign this file after it has
174            * been uploaded to the portal. If it is <code>null</code>, the <code>
175            * sourceFileName</code> will be used.
176            * </p>
177            *
178            * @param userId the primary key of the file entry's creator/owner
179            * @param repositoryId the primary key of the repository
180            * @param folderId the primary key of the file entry's parent folder
181            * @param sourceFileName the original file's name
182            * @param mimeType the file's MIME type
183            * @param title the name to be assigned to the file (optionally <code>null
184            </code>)
185            * @param description the file's description
186            * @param changeLog the file's version change log
187            * @param is the file's data (optionally <code>null</code>)
188            * @param size the file's size (optionally <code>0</code>)
189            * @param serviceContext the service context to be applied. Can set the
190            asset category IDs, asset tag names, and expando bridge
191            attributes for the file entry. In a Liferay repository, it may
192            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
193            type </li> <li> fieldsMap - mapping for fields associated with a
194            custom file entry type </li> </ul>
195            * @return the file entry
196            */
197            public FileEntry addFileEntry(long userId, long repositoryId,
198                    long folderId, java.lang.String sourceFileName,
199                    java.lang.String mimeType, java.lang.String title,
200                    java.lang.String description, java.lang.String changeLog,
201                    InputStream is, long size, ServiceContext serviceContext)
202                    throws PortalException;
203    
204            /**
205            * Returns the file entry with the primary key.
206            *
207            * @param fileEntryId the primary key of the file entry
208            * @return the file entry with the primary key
209            */
210            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
211            public FileEntry getFileEntry(long fileEntryId) throws PortalException;
212    
213            /**
214            * Returns the file entry with the title in the folder.
215            *
216            * @param groupId the primary key of the file entry's group
217            * @param folderId the primary key of the file entry's folder
218            * @param title the file entry's title
219            * @return the file entry with the title in the folder
220            */
221            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
222            public FileEntry getFileEntry(long groupId, long folderId,
223                    java.lang.String title) throws PortalException;
224    
225            /**
226            * Returns the file entry with the UUID and group.
227            *
228            * @param uuid the file entry's UUID
229            * @param groupId the primary key of the file entry's group
230            * @return the file entry with the UUID and group
231            */
232            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
233            public FileEntry getFileEntryByUuidAndGroupId(java.lang.String uuid,
234                    long groupId) throws PortalException;
235    
236            /**
237            * Moves the file entry to the new folder.
238            *
239            * @param userId the primary key of the user
240            * @param fileEntryId the primary key of the file entry
241            * @param newFolderId the primary key of the new folder
242            * @param serviceContext the service context to be applied
243            * @return the file entry
244            */
245            public FileEntry moveFileEntry(long userId, long fileEntryId,
246                    long newFolderId, ServiceContext serviceContext)
247                    throws PortalException;
248    
249            /**
250            * Updates a file entry and associated metadata based on a byte array
251            * object. If the file data is <code>null</code>, then only the associated
252            * metadata (i.e., <code>title</code>, <code>description</code>, and
253            * parameters in the <code>serviceContext</code>) will be updated.
254            *
255            * <p>
256            * This method takes two file names, the <code>sourceFileName</code> and the
257            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
258            * name of the actual file being uploaded. The <code>title</code>
259            * corresponds to a name the client wishes to assign this file after it has
260            * been uploaded to the portal.
261            * </p>
262            *
263            * @param userId the primary key of the user
264            * @param fileEntryId the primary key of the file entry
265            * @param sourceFileName the original file's name (optionally
266            <code>null</code>)
267            * @param mimeType the file's MIME type (optionally <code>null</code>)
268            * @param title the new name to be assigned to the file (optionally <code>
269            <code>null</code></code>)
270            * @param description the file's new description
271            * @param changeLog the file's version change log (optionally
272            <code>null</code>)
273            * @param majorVersion whether the new file version is a major version
274            * @param bytes the file's data (optionally <code>null</code>)
275            * @param serviceContext the service context to be applied. Can set the
276            asset category IDs, asset tag names, and expando bridge
277            attributes for the file entry. In a Liferay repository, it may
278            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
279            type </li> <li> fieldsMap - mapping for fields associated with a
280            custom file entry type </li> </ul>
281            * @return the file entry
282            */
283            public FileEntry updateFileEntry(long userId, long fileEntryId,
284                    java.lang.String sourceFileName, java.lang.String mimeType,
285                    java.lang.String title, java.lang.String description,
286                    java.lang.String changeLog, boolean majorVersion, byte[] bytes,
287                    ServiceContext serviceContext) throws PortalException;
288    
289            /**
290            * Updates a file entry and associated metadata based on a {@link File}
291            * object. If the file data is <code>null</code>, then only the associated
292            * metadata (i.e., <code>title</code>, <code>description</code>, and
293            * parameters in the <code>serviceContext</code>) will be updated.
294            *
295            * <p>
296            * This method takes two file names, the <code>sourceFileName</code> and the
297            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
298            * name of the actual file being uploaded. The <code>title</code>
299            * corresponds to a name the client wishes to assign this file after it has
300            * been uploaded to the portal.
301            * </p>
302            *
303            * @param userId the primary key of the user
304            * @param fileEntryId the primary key of the file entry
305            * @param sourceFileName the original file's name (optionally
306            <code>null</code>)
307            * @param mimeType the file's MIME type (optionally <code>null</code>)
308            * @param title the new name to be assigned to the file (optionally <code>
309            <code>null</code></code>)
310            * @param description the file's new description
311            * @param changeLog the file's version change log (optionally
312            <code>null</code>)
313            * @param majorVersion whether the new file version is a major version
314            * @param file the file's data (optionally <code>null</code>)
315            * @param serviceContext the service context to be applied. Can set the
316            asset category IDs, asset tag names, and expando bridge
317            attributes for the file entry. In a Liferay repository, it may
318            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
319            type </li> <li> fieldsMap - mapping for fields associated with a
320            custom file entry type </li> </ul>
321            * @return the file entry
322            */
323            public FileEntry updateFileEntry(long userId, long fileEntryId,
324                    java.lang.String sourceFileName, java.lang.String mimeType,
325                    java.lang.String title, java.lang.String description,
326                    java.lang.String changeLog, boolean majorVersion, File file,
327                    ServiceContext serviceContext) throws PortalException;
328    
329            /**
330            * Updates a file entry and associated metadata based on an {@link
331            * InputStream} object. If the file data is <code>null</code>, then only the
332            * associated metadata (i.e., <code>title</code>, <code>description</code>,
333            * and parameters in the <code>serviceContext</code>) will be updated.
334            *
335            * <p>
336            * This method takes two file names, the <code>sourceFileName</code> and the
337            * <code>title</code>. The <code>sourceFileName</code> corresponds to the
338            * name of the actual file being uploaded. The <code>title</code>
339            * corresponds to a name the client wishes to assign this file after it has
340            * been uploaded to the portal.
341            * </p>
342            *
343            * @param userId the primary key of the user
344            * @param fileEntryId the primary key of the file entry
345            * @param sourceFileName the original file's name (optionally
346            <code>null</code>)
347            * @param mimeType the file's MIME type (optionally <code>null</code>)
348            * @param title the new name to be assigned to the file (optionally <code>
349            <code>null</code></code>)
350            * @param description the file's new description
351            * @param changeLog the file's version change log (optionally
352            <code>null</code>)
353            * @param majorVersion whether the new file version is a major version
354            * @param is the file's data (optionally <code>null</code>)
355            * @param size the file's size (optionally <code>0</code>)
356            * @param serviceContext the service context to be applied. Can set the
357            asset category IDs, asset tag names, and expando bridge
358            attributes for the file entry. In a Liferay repository, it may
359            include:  <ul> <li> fileEntryTypeId - ID for a custom file entry
360            type </li> <li> fieldsMap - mapping for fields associated with a
361            custom file entry type </li> </ul>
362            * @return the file entry
363            */
364            public FileEntry updateFileEntry(long userId, long fileEntryId,
365                    java.lang.String sourceFileName, java.lang.String mimeType,
366                    java.lang.String title, java.lang.String description,
367                    java.lang.String changeLog, boolean majorVersion, InputStream is,
368                    long size, ServiceContext serviceContext) throws PortalException;
369    
370            /**
371            * Adds the file shortcut to the existing file entry. This method is only
372            * supported by the Liferay repository.
373            *
374            * @param userId the primary key of the file shortcut's creator/owner
375            * @param repositoryId the primary key of the repository
376            * @param folderId the primary key of the file shortcut's parent folder
377            * @param toFileEntryId the primary key of the file entry to point to
378            * @param serviceContext the service context to be applied. Can set the
379            asset category IDs, asset tag names, and expando bridge
380            attributes for the file entry.
381            * @return the file shortcut
382            */
383            public FileShortcut addFileShortcut(long userId, long repositoryId,
384                    long folderId, long toFileEntryId, ServiceContext serviceContext)
385                    throws PortalException;
386    
387            /**
388            * Returns the file shortcut with the primary key. This method is only
389            * supported by the Liferay repository.
390            *
391            * @param fileShortcutId the primary key of the file shortcut
392            * @return the file shortcut with the primary key
393            */
394            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
395            public FileShortcut getFileShortcut(long fileShortcutId)
396                    throws PortalException;
397    
398            /**
399            * Updates a file shortcut to the existing file entry. This method is only
400            * supported by the Liferay repository.
401            *
402            * @param userId the primary key of the file shortcut's creator/owner
403            * @param fileShortcutId the primary key of the file shortcut
404            * @param folderId the primary key of the file shortcut's parent folder
405            * @param toFileEntryId the primary key of the file shortcut's file entry
406            * @param serviceContext the service context to be applied. Can set the
407            asset category IDs, asset tag names, and expando bridge
408            attributes for the file entry.
409            * @return the file shortcut
410            */
411            public FileShortcut updateFileShortcut(long userId, long fileShortcutId,
412                    long folderId, long toFileEntryId, ServiceContext serviceContext)
413                    throws PortalException;
414    
415            /**
416            * Returns the file version with the primary key.
417            *
418            * @param fileVersionId the primary key of the file version
419            * @return the file version with the primary key
420            */
421            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
422            public FileVersion getFileVersion(long fileVersionId)
423                    throws PortalException;
424    
425            /**
426            * Adds a folder.
427            *
428            * @param userId the primary key of the folder's creator/owner
429            * @param repositoryId the primary key of the repository
430            * @param parentFolderId the primary key of the folder's parent folder
431            * @param name the folder's name
432            * @param description the folder's description
433            * @param serviceContext the service context to be applied. In a Liferay
434            repository, it may include mountPoint which is a boolean
435            specifying whether the folder is a facade for mounting a
436            third-party repository
437            * @return the folder
438            */
439            public Folder addFolder(long userId, long repositoryId,
440                    long parentFolderId, java.lang.String name,
441                    java.lang.String description, ServiceContext serviceContext)
442                    throws PortalException;
443    
444            /**
445            * Returns the folder with the primary key.
446            *
447            * @param folderId the primary key of the folder
448            * @return the folder with the primary key
449            */
450            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
451            public Folder getFolder(long folderId) throws PortalException;
452    
453            /**
454            * Returns the folder with the name in the parent folder.
455            *
456            * @param repositoryId the primary key of the folder's repository
457            * @param parentFolderId the primary key of the folder's parent folder
458            * @param name the folder's name
459            * @return the folder with the name in the parent folder
460            */
461            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
462            public Folder getFolder(long repositoryId, long parentFolderId,
463                    java.lang.String name) throws PortalException;
464    
465            /**
466            * Returns the mount folder of the repository with the primary key. This
467            * method is only supported by the Liferay repository.
468            *
469            * @param repositoryId the primary key of the repository
470            * @return the folder used for mounting third-party repositories
471            */
472            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
473            public Folder getMountFolder(long repositoryId) throws PortalException;
474    
475            public Folder moveFolder(long userId, long folderId, long parentFolderId,
476                    ServiceContext serviceContext) throws PortalException;
477    
478            /**
479            * Updates the folder.
480            *
481            * @param folderId the primary key of the folder
482            * @param parentFolderId the primary key of the folder's new parent folder
483            * @param name the folder's new name
484            * @param description the folder's new description
485            * @param serviceContext the service context to be applied. In a Liferay
486            repository, it may include:  <ul> <li> defaultFileEntryTypeId -
487            the file entry type to default all Liferay file entries to </li>
488            <li> dlFileEntryTypesSearchContainerPrimaryKeys - a
489            comma-delimited list of file entry type primary keys allowed in
490            the given folder and all descendants </li> <li> restrictionType -
491            specifying restriction type of file entry types allowed </li>
492            <li> workflowDefinitionXYZ - the workflow definition name
493            specified per file entry type. The parameter name must be the
494            string <code>workflowDefinition</code> appended by the
495            <code>fileEntryTypeId</code> (optionally <code>0</code>).</li>
496            </ul>
497            * @return the folder
498            */
499            public Folder updateFolder(long folderId, long parentFolderId,
500                    java.lang.String name, java.lang.String description,
501                    ServiceContext serviceContext) throws PortalException;
502    
503            /**
504            * Returns the OSGi service identifier.
505            *
506            * @return the OSGi service identifier
507            */
508            public java.lang.String getOSGiServiceIdentifier();
509    
510            /**
511            * Returns the file ranks from the user. This method is only supported by
512            * the Liferay repository.
513            *
514            * @param repositoryId the primary key of the repository
515            * @param userId the primary key of the user
516            * @return the file ranks from the user
517            */
518            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
519            public List<DLFileRank> getFileRanks(long repositoryId, long userId);
520    
521            /**
522            * Delete all data associated to the given repository. This method is only
523            * supported by the Liferay repository.
524            *
525            * @param repositoryId the primary key of the data's repository
526            */
527            public void deleteAll(long repositoryId) throws PortalException;
528    
529            public void deleteAllRepositories(long groupId) throws PortalException;
530    
531            /**
532            * Deletes the file entry.
533            *
534            * @param fileEntryId the primary key of the file entry
535            */
536            public void deleteFileEntry(long fileEntryId) throws PortalException;
537    
538            /**
539            * Deletes the file ranks associated to a given file entry. This method is
540            * only supported by the Liferay repository.
541            *
542            * @param fileEntryId the primary key of the file entry
543            */
544            public void deleteFileRanksByFileEntryId(long fileEntryId);
545    
546            /**
547            * Deletes the file ranks associated to a given user. This method is only
548            * supported by the Liferay repository.
549            *
550            * @param userId the primary key of the user
551            */
552            public void deleteFileRanksByUserId(long userId);
553    
554            /**
555            * Deletes the file shortcut. This method is only supported by the Liferay
556            * repository.
557            *
558            * @param fileShortcut the file shortcut
559            */
560            public void deleteFileShortcut(FileShortcut fileShortcut)
561                    throws PortalException;
562    
563            /**
564            * Deletes the file shortcut. This method is only supported by the Liferay
565            * repository.
566            *
567            * @param fileShortcutId the primary key of the file shortcut
568            */
569            public void deleteFileShortcut(long fileShortcutId)
570                    throws PortalException;
571    
572            /**
573            * Deletes all file shortcuts associated to the file entry. This method is
574            * only supported by the Liferay repository.
575            *
576            * @param toFileEntryId the primary key of the associated file entry
577            */
578            public void deleteFileShortcuts(long toFileEntryId)
579                    throws PortalException;
580    
581            /**
582            * Deletes the folder and all of its subfolders and file entries.
583            *
584            * @param folderId the primary key of the folder
585            */
586            public void deleteFolder(long folderId) throws PortalException;
587    
588            /**
589            * Subscribe the user to changes in documents of the file entry type. This
590            * method is only supported by the Liferay repository.
591            *
592            * @param userId the primary key of the user
593            * @param groupId the primary key of the file entry type's group
594            * @param fileEntryTypeId the primary key of the file entry type
595            */
596            public void subscribeFileEntryType(long userId, long groupId,
597                    long fileEntryTypeId) throws PortalException;
598    
599            /**
600            * Subscribe the user to document changes in the folder. This method is only
601            * supported by the Liferay repository.
602            *
603            * @param userId the primary key of the user
604            * @param groupId the primary key of the folder's group
605            * @param folderId the primary key of the folder
606            */
607            public void subscribeFolder(long userId, long groupId, long folderId)
608                    throws PortalException;
609    
610            /**
611            * Unsubscribe the user from changes in documents of the file entry type.
612            * This method is only supported by the Liferay repository.
613            *
614            * @param userId the primary key of the user
615            * @param groupId the primary key of the file entry type's group
616            * @param fileEntryTypeId the primary key of the file entry type
617            */
618            public void unsubscribeFileEntryType(long userId, long groupId,
619                    long fileEntryTypeId) throws PortalException;
620    
621            /**
622            * Unsubscribe the user from document changes in the folder. This method is
623            * only supported by the Liferay repository.
624            *
625            * @param userId the primary key of the user
626            * @param groupId the primary key of the folder's group
627            * @param folderId the primary key of the folder
628            */
629            public void unsubscribeFolder(long userId, long groupId, long folderId)
630                    throws PortalException;
631    
632            /**
633            * Updates the file entry's asset replacing its asset categories, tags, and
634            * links.
635            *
636            * @param userId the primary key of the user
637            * @param fileEntry the file entry to update
638            * @param fileVersion the file version to update
639            * @param assetCategoryIds the primary keys of the new asset categories
640            * @param assetTagNames the new asset tag names
641            * @param assetLinkEntryIds the primary keys of the new asset link entries
642            */
643            public void updateAsset(long userId, FileEntry fileEntry,
644                    FileVersion fileVersion, long[] assetCategoryIds,
645                    java.lang.String[] assetTagNames, long[] assetLinkEntryIds)
646                    throws PortalException;
647    
648            /**
649            * Updates all file shortcuts to the existing file entry to the new file
650            * entry. This method is only supported by the Liferay repository.
651            *
652            * @param oldToFileEntryId the primary key of the old file entry pointed to
653            * @param newToFileEntryId the primary key of the new file entry to point to
654            */
655            public void updateFileShortcuts(long oldToFileEntryId, long newToFileEntryId)
656                    throws PortalException;
657    
658            /**
659            * Deprecated as of 7.0.0, replaced by {@link #updateFileShortcuts(long,
660            * long)}
661            */
662            @java.lang.Deprecated
663            public void updateFileShortcuts(long toRepositoryId, long oldToFileEntryId,
664                    long newToFileEntryId) throws PortalException;
665    }