001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.trash.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    import com.liferay.portal.service.BaseLocalService;
023    import com.liferay.portal.service.PersistedModelLocalService;
024    
025    /**
026     * Provides the local service interface for TrashEntry. Methods of this
027     * service will not have security checks based on the propagated JAAS
028     * credentials because this service can only be accessed from within the same
029     * VM.
030     *
031     * @author Brian Wing Shun Chan
032     * @see TrashEntryLocalServiceUtil
033     * @see com.liferay.portlet.trash.service.base.TrashEntryLocalServiceBaseImpl
034     * @see com.liferay.portlet.trash.service.impl.TrashEntryLocalServiceImpl
035     * @generated
036     */
037    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
038            PortalException.class, SystemException.class})
039    public interface TrashEntryLocalService extends BaseLocalService,
040            PersistedModelLocalService {
041            /*
042             * NOTE FOR DEVELOPERS:
043             *
044             * Never modify or reference this interface directly. Always use {@link TrashEntryLocalServiceUtil} to access the trash entry local service. Add custom service methods to {@link com.liferay.portlet.trash.service.impl.TrashEntryLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
045             */
046    
047            /**
048            * Adds the trash entry to the database. Also notifies the appropriate model listeners.
049            *
050            * @param trashEntry the trash entry
051            * @return the trash entry that was added
052            * @throws SystemException if a system exception occurred
053            */
054            public com.liferay.portlet.trash.model.TrashEntry addTrashEntry(
055                    com.liferay.portlet.trash.model.TrashEntry trashEntry)
056                    throws com.liferay.portal.kernel.exception.SystemException;
057    
058            /**
059            * Creates a new trash entry with the primary key. Does not add the trash entry to the database.
060            *
061            * @param entryId the primary key for the new trash entry
062            * @return the new trash entry
063            */
064            public com.liferay.portlet.trash.model.TrashEntry createTrashEntry(
065                    long entryId);
066    
067            /**
068            * Deletes the trash entry with the primary key from the database. Also notifies the appropriate model listeners.
069            *
070            * @param entryId the primary key of the trash entry
071            * @return the trash entry that was removed
072            * @throws PortalException if a trash entry with the primary key could not be found
073            * @throws SystemException if a system exception occurred
074            */
075            public com.liferay.portlet.trash.model.TrashEntry deleteTrashEntry(
076                    long entryId)
077                    throws com.liferay.portal.kernel.exception.PortalException,
078                            com.liferay.portal.kernel.exception.SystemException;
079    
080            /**
081            * Deletes the trash entry from the database. Also notifies the appropriate model listeners.
082            *
083            * @param trashEntry the trash entry
084            * @return the trash entry that was removed
085            * @throws SystemException if a system exception occurred
086            */
087            public com.liferay.portlet.trash.model.TrashEntry deleteTrashEntry(
088                    com.liferay.portlet.trash.model.TrashEntry trashEntry)
089                    throws com.liferay.portal.kernel.exception.SystemException;
090    
091            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
092    
093            /**
094            * Performs a dynamic query on the database and returns the matching rows.
095            *
096            * @param dynamicQuery the dynamic query
097            * @return the matching rows
098            * @throws SystemException if a system exception occurred
099            */
100            @SuppressWarnings("rawtypes")
101            public java.util.List dynamicQuery(
102                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
103                    throws com.liferay.portal.kernel.exception.SystemException;
104    
105            /**
106            * Performs a dynamic query on the database and returns a range of the matching rows.
107            *
108            * <p>
109            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.trash.model.impl.TrashEntryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
110            * </p>
111            *
112            * @param dynamicQuery the dynamic query
113            * @param start the lower bound of the range of model instances
114            * @param end the upper bound of the range of model instances (not inclusive)
115            * @return the range of matching rows
116            * @throws SystemException if a system exception occurred
117            */
118            @SuppressWarnings("rawtypes")
119            public java.util.List dynamicQuery(
120                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
121                    int end) throws com.liferay.portal.kernel.exception.SystemException;
122    
123            /**
124            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
125            *
126            * <p>
127            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.trash.model.impl.TrashEntryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
128            * </p>
129            *
130            * @param dynamicQuery the dynamic query
131            * @param start the lower bound of the range of model instances
132            * @param end the upper bound of the range of model instances (not inclusive)
133            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
134            * @return the ordered range of matching rows
135            * @throws SystemException if a system exception occurred
136            */
137            @SuppressWarnings("rawtypes")
138            public java.util.List dynamicQuery(
139                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
140                    int end,
141                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
142                    throws com.liferay.portal.kernel.exception.SystemException;
143    
144            /**
145            * Returns the number of rows that match the dynamic query.
146            *
147            * @param dynamicQuery the dynamic query
148            * @return the number of rows that match the dynamic query
149            * @throws SystemException if a system exception occurred
150            */
151            public long dynamicQueryCount(
152                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
153                    throws com.liferay.portal.kernel.exception.SystemException;
154    
155            /**
156            * Returns the number of rows that match the dynamic query.
157            *
158            * @param dynamicQuery the dynamic query
159            * @param projection the projection to apply to the query
160            * @return the number of rows that match the dynamic query
161            * @throws SystemException if a system exception occurred
162            */
163            public long dynamicQueryCount(
164                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
165                    com.liferay.portal.kernel.dao.orm.Projection projection)
166                    throws com.liferay.portal.kernel.exception.SystemException;
167    
168            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
169            public com.liferay.portlet.trash.model.TrashEntry fetchTrashEntry(
170                    long entryId)
171                    throws com.liferay.portal.kernel.exception.SystemException;
172    
173            /**
174            * Returns the trash entry with the primary key.
175            *
176            * @param entryId the primary key of the trash entry
177            * @return the trash entry
178            * @throws PortalException if a trash entry with the primary key could not be found
179            * @throws SystemException if a system exception occurred
180            */
181            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
182            public com.liferay.portlet.trash.model.TrashEntry getTrashEntry(
183                    long entryId)
184                    throws com.liferay.portal.kernel.exception.PortalException,
185                            com.liferay.portal.kernel.exception.SystemException;
186    
187            @Override
188            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
189            public com.liferay.portal.model.PersistedModel getPersistedModel(
190                    java.io.Serializable primaryKeyObj)
191                    throws com.liferay.portal.kernel.exception.PortalException,
192                            com.liferay.portal.kernel.exception.SystemException;
193    
194            /**
195            * Returns a range of all the trash entries.
196            *
197            * <p>
198            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.trash.model.impl.TrashEntryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
199            * </p>
200            *
201            * @param start the lower bound of the range of trash entries
202            * @param end the upper bound of the range of trash entries (not inclusive)
203            * @return the range of trash entries
204            * @throws SystemException if a system exception occurred
205            */
206            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
207            public java.util.List<com.liferay.portlet.trash.model.TrashEntry> getTrashEntries(
208                    int start, int end)
209                    throws com.liferay.portal.kernel.exception.SystemException;
210    
211            /**
212            * Returns the number of trash entries.
213            *
214            * @return the number of trash entries
215            * @throws SystemException if a system exception occurred
216            */
217            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
218            public int getTrashEntriesCount()
219                    throws com.liferay.portal.kernel.exception.SystemException;
220    
221            /**
222            * Updates the trash entry in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
223            *
224            * @param trashEntry the trash entry
225            * @return the trash entry that was updated
226            * @throws SystemException if a system exception occurred
227            */
228            public com.liferay.portlet.trash.model.TrashEntry updateTrashEntry(
229                    com.liferay.portlet.trash.model.TrashEntry trashEntry)
230                    throws com.liferay.portal.kernel.exception.SystemException;
231    
232            /**
233            * Returns the Spring bean ID for this bean.
234            *
235            * @return the Spring bean ID for this bean
236            */
237            public java.lang.String getBeanIdentifier();
238    
239            /**
240            * Sets the Spring bean ID for this bean.
241            *
242            * @param beanIdentifier the Spring bean ID for this bean
243            */
244            public void setBeanIdentifier(java.lang.String beanIdentifier);
245    
246            /**
247            * Moves an entry to trash.
248            *
249            * @param userId the primary key of the user removing the entity
250            * @param groupId the primary key of the entry's group
251            * @param className the class name of the entity
252            * @param classPK the primary key of the entity
253            * @param status the status of the entity prior to being moved to trash
254            * @param statusOVPs the primary keys and statuses of any of the entry's
255            versions (e.g., {@link
256            com.liferay.portlet.documentlibrary.model.DLFileVersion})
257            * @param typeSettingsProperties the type settings properties
258            * @return the trashEntry
259            * @throws PortalException if a user with the primary key could not be found
260            * @throws SystemException if a system exception occurred
261            */
262            public com.liferay.portlet.trash.model.TrashEntry addTrashEntry(
263                    long userId, long groupId, java.lang.String className, long classPK,
264                    int status,
265                    java.util.List<com.liferay.portal.kernel.util.ObjectValuePair<java.lang.Long, java.lang.Integer>> statusOVPs,
266                    com.liferay.portal.kernel.util.UnicodeProperties typeSettingsProperties)
267                    throws com.liferay.portal.kernel.exception.PortalException,
268                            com.liferay.portal.kernel.exception.SystemException;
269    
270            public void checkEntries()
271                    throws com.liferay.portal.kernel.exception.PortalException,
272                            com.liferay.portal.kernel.exception.SystemException;
273    
274            /**
275            * Deletes the trash entry with the primary key.
276            *
277            * @param entryId the primary key of the trash entry
278            * @return the trash entry with the primary key
279            * @throws PortalException if a trash entry with the primary key could not
280            be found
281            * @throws SystemException if a system exception occurred
282            */
283            public com.liferay.portlet.trash.model.TrashEntry deleteEntry(long entryId)
284                    throws com.liferay.portal.kernel.exception.PortalException,
285                            com.liferay.portal.kernel.exception.SystemException;
286    
287            /**
288            * Deletes the trash entry with the entity class name and primary key.
289            *
290            * @param className the class name of entity
291            * @param classPK the primary key of the entry
292            * @return the trash entry with the entity class name and primary key
293            * @throws PortalException if a trash entry with the primary key could not
294            be found
295            * @throws SystemException if a system exception occurred
296            */
297            public com.liferay.portlet.trash.model.TrashEntry deleteEntry(
298                    java.lang.String className, long classPK)
299                    throws com.liferay.portal.kernel.exception.PortalException,
300                            com.liferay.portal.kernel.exception.SystemException;
301    
302            public com.liferay.portlet.trash.model.TrashEntry deleteEntry(
303                    com.liferay.portlet.trash.model.TrashEntry trashEntry)
304                    throws com.liferay.portal.kernel.exception.SystemException;
305    
306            /**
307            * Returns the trash entry with the primary key.
308            *
309            * @param entryId the primary key of the entry
310            * @return the trash entry with the primary key
311            * @throws SystemException if a system exception occurred
312            */
313            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
314            public com.liferay.portlet.trash.model.TrashEntry fetchEntry(long entryId)
315                    throws com.liferay.portal.kernel.exception.SystemException;
316    
317            /**
318            * Returns the trash entry with the entity class name and primary key.
319            *
320            * @param className the class name of the entity
321            * @param classPK the primary key of the entity
322            * @return the trash entry with the entity class name and primary key
323            * @throws SystemException if a system exception occurred
324            */
325            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
326            public com.liferay.portlet.trash.model.TrashEntry fetchEntry(
327                    java.lang.String className, long classPK)
328                    throws com.liferay.portal.kernel.exception.SystemException;
329    
330            /**
331            * Returns the trash entries with the matching group ID.
332            *
333            * @param groupId the primary key of the group
334            * @return the trash entries with the group ID
335            * @throws SystemException if a system exception occurred
336            */
337            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
338            public java.util.List<com.liferay.portlet.trash.model.TrashEntry> getEntries(
339                    long groupId)
340                    throws com.liferay.portal.kernel.exception.SystemException;
341    
342            /**
343            * Returns a range of all the trash entries matching the group ID.
344            *
345            * @param groupId the primary key of the group
346            * @param start the lower bound of the range of trash entries to return
347            * @param end the upper bound of the range of trash entries to return (not
348            inclusive)
349            * @return the range of matching trash entries
350            * @throws SystemException if a system exception occurred
351            */
352            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
353            public java.util.List<com.liferay.portlet.trash.model.TrashEntry> getEntries(
354                    long groupId, int start, int end)
355                    throws com.liferay.portal.kernel.exception.SystemException;
356    
357            /**
358            * Returns a range of all the trash entries matching the group ID.
359            *
360            * @param groupId the primary key of the group
361            * @param start the lower bound of the range of trash entries to return
362            * @param end the upper bound of the range of trash entries to return (not
363            inclusive)
364            * @param obc the comparator to order the trash entries (optionally
365            <code>null</code>)
366            * @return the range of matching trash entries ordered by comparator
367            <code>obc</code>
368            * @throws SystemException if a system exception occurred
369            */
370            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
371            public java.util.List<com.liferay.portlet.trash.model.TrashEntry> getEntries(
372                    long groupId, int start, int end,
373                    com.liferay.portal.kernel.util.OrderByComparator obc)
374                    throws com.liferay.portal.kernel.exception.SystemException;
375    
376            /**
377            * Returns the number of trash entries with the group ID.
378            *
379            * @param groupId the primary key of the group
380            * @return the number of matching trash entries
381            * @throws SystemException if a system exception occurred
382            */
383            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
384            public int getEntriesCount(long groupId)
385                    throws com.liferay.portal.kernel.exception.SystemException;
386    
387            /**
388            * Returns the trash entry with the primary key.
389            *
390            * @param entryId the primary key of the trash entry
391            * @return the trash entry with the primary key
392            * @throws PortalException if a trash entry with the primary key could not
393            be found
394            * @throws SystemException if a system exception occurred
395            */
396            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
397            public com.liferay.portlet.trash.model.TrashEntry getEntry(long entryId)
398                    throws com.liferay.portal.kernel.exception.PortalException,
399                            com.liferay.portal.kernel.exception.SystemException;
400    
401            /**
402            * Returns the entry with the entity class name and primary key.
403            *
404            * @param className the class name of the entity
405            * @param classPK the primary key of the entity
406            * @return the trash entry with the entity class name and primary key
407            * @throws PortalException if a trash entry with the primary key could not
408            be found
409            * @throws SystemException if a system exception occurred
410            */
411            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
412            public com.liferay.portlet.trash.model.TrashEntry getEntry(
413                    java.lang.String className, long classPK)
414                    throws com.liferay.portal.kernel.exception.PortalException,
415                            com.liferay.portal.kernel.exception.SystemException;
416    
417            /**
418            * Returns all the trash versions associated with the trash entry.
419            *
420            * @param entryId the primary key of the trash entry
421            * @return all the trash versions associated with the trash entry
422            * @throws SystemException if a system exception occurred
423            */
424            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
425            public java.util.List<com.liferay.portlet.trash.model.TrashVersion> getVersions(
426                    long entryId)
427                    throws com.liferay.portal.kernel.exception.SystemException;
428    
429            /**
430            * Returns all the trash versions associated with the trash entry.
431            *
432            * @param className the class name of the trash entity
433            * @param classPK the primary key of the trash entity
434            * @return all the trash versions associated with the trash entry
435            * @throws SystemException if a system exception occurred
436            */
437            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
438            public java.util.List<com.liferay.portlet.trash.model.TrashVersion> getVersions(
439                    java.lang.String className, long classPK)
440                    throws com.liferay.portal.kernel.exception.SystemException;
441    
442            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
443            public com.liferay.portal.kernel.search.Hits search(long companyId,
444                    long groupId, long userId, java.lang.String keywords, int start,
445                    int end, com.liferay.portal.kernel.search.Sort sort)
446                    throws com.liferay.portal.kernel.exception.SystemException;
447    }