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.portlet.blogs.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
020    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
021    import com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery;
022    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
023    import com.liferay.portal.kernel.dao.orm.Projection;
024    import com.liferay.portal.kernel.dao.orm.QueryDefinition;
025    import com.liferay.portal.kernel.exception.PortalException;
026    import com.liferay.portal.kernel.exception.SystemException;
027    import com.liferay.portal.kernel.repository.model.Folder;
028    import com.liferay.portal.kernel.search.Indexable;
029    import com.liferay.portal.kernel.search.IndexableType;
030    import com.liferay.portal.kernel.servlet.taglib.ui.ImageSelector;
031    import com.liferay.portal.kernel.systemevent.SystemEvent;
032    import com.liferay.portal.kernel.transaction.Isolation;
033    import com.liferay.portal.kernel.transaction.Propagation;
034    import com.liferay.portal.kernel.transaction.Transactional;
035    import com.liferay.portal.kernel.util.OrderByComparator;
036    import com.liferay.portal.model.PersistedModel;
037    import com.liferay.portal.model.SystemEventConstants;
038    import com.liferay.portal.service.BaseLocalService;
039    import com.liferay.portal.service.PersistedModelLocalService;
040    import com.liferay.portal.service.ServiceContext;
041    import com.liferay.portal.service.permission.ModelPermissions;
042    
043    import com.liferay.portlet.blogs.model.BlogsEntry;
044    import com.liferay.portlet.exportimport.lar.PortletDataContext;
045    
046    import java.io.InputStream;
047    import java.io.Serializable;
048    
049    import java.util.Date;
050    import java.util.List;
051    import java.util.Map;
052    
053    /**
054     * Provides the local service interface for BlogsEntry. Methods of this
055     * service will not have security checks based on the propagated JAAS
056     * credentials because this service can only be accessed from within the same
057     * VM.
058     *
059     * @author Brian Wing Shun Chan
060     * @see BlogsEntryLocalServiceUtil
061     * @see com.liferay.portlet.blogs.service.base.BlogsEntryLocalServiceBaseImpl
062     * @see com.liferay.portlet.blogs.service.impl.BlogsEntryLocalServiceImpl
063     * @generated
064     */
065    @ProviderType
066    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
067            PortalException.class, SystemException.class})
068    public interface BlogsEntryLocalService extends BaseLocalService,
069            PersistedModelLocalService {
070            /*
071             * NOTE FOR DEVELOPERS:
072             *
073             * Never modify or reference this interface directly. Always use {@link BlogsEntryLocalServiceUtil} to access the blogs entry local service. Add custom service methods to {@link com.liferay.portlet.blogs.service.impl.BlogsEntryLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
074             */
075            public Folder addAttachmentsFolder(long userId, long groupId)
076                    throws PortalException;
077    
078            /**
079            * Adds the blogs entry to the database. Also notifies the appropriate model listeners.
080            *
081            * @param blogsEntry the blogs entry
082            * @return the blogs entry that was added
083            */
084            @Indexable(type = IndexableType.REINDEX)
085            public BlogsEntry addBlogsEntry(BlogsEntry blogsEntry);
086    
087            public void addCoverImage(long entryId, ImageSelector imageSelector)
088                    throws PortalException;
089    
090            public BlogsEntry addEntry(long userId, java.lang.String title,
091                    java.lang.String content, Date displayDate,
092                    ServiceContext serviceContext) throws PortalException;
093    
094            public BlogsEntry addEntry(long userId, java.lang.String title,
095                    java.lang.String content, ServiceContext serviceContext)
096                    throws PortalException;
097    
098            /**
099            * @deprecated As of 7.0.0, replaced by {@link #addEntry(long, String,
100            String, String, String, int, int, int, int, int, boolean,
101            boolean, String[], String, ImageSelector, ImageSelector,
102            ServiceContext)}
103            */
104            @java.lang.Deprecated
105            public BlogsEntry addEntry(long userId, java.lang.String title,
106                    java.lang.String description, java.lang.String content,
107                    int displayDateMonth, int displayDateDay, int displayDateYear,
108                    int displayDateHour, int displayDateMinute, boolean allowPingbacks,
109                    boolean allowTrackbacks, java.lang.String[] trackbacks,
110                    boolean smallImage, java.lang.String smallImageURL,
111                    java.lang.String smallImageFileName, InputStream smallImageInputStream,
112                    ServiceContext serviceContext) throws PortalException;
113    
114            @Indexable(type = IndexableType.REINDEX)
115            public BlogsEntry addEntry(long userId, java.lang.String title,
116                    java.lang.String subtitle, java.lang.String description,
117                    java.lang.String content, Date displayDate, boolean allowPingbacks,
118                    boolean allowTrackbacks, java.lang.String[] trackbacks,
119                    java.lang.String coverImageCaption,
120                    ImageSelector coverImageImageSelector,
121                    ImageSelector smallImageImageSelector, ServiceContext serviceContext)
122                    throws PortalException;
123    
124            public BlogsEntry addEntry(long userId, java.lang.String title,
125                    java.lang.String subtitle, java.lang.String description,
126                    java.lang.String content, int displayDateMonth, int displayDateDay,
127                    int displayDateYear, int displayDateHour, int displayDateMinute,
128                    boolean allowPingbacks, boolean allowTrackbacks,
129                    java.lang.String[] trackbacks, java.lang.String coverImageCaption,
130                    ImageSelector coverImageImageSelector,
131                    ImageSelector smallImageImageSelector, ServiceContext serviceContext)
132                    throws PortalException;
133    
134            public void addEntryResources(BlogsEntry entry,
135                    boolean addGroupPermissions, boolean addGuestPermissions)
136                    throws PortalException;
137    
138            public void addEntryResources(BlogsEntry entry,
139                    ModelPermissions modelPermissions) throws PortalException;
140    
141            public void addEntryResources(long entryId, boolean addGroupPermissions,
142                    boolean addGuestPermissions) throws PortalException;
143    
144            public void addEntryResources(long entryId,
145                    ModelPermissions modelPermissions) throws PortalException;
146    
147            public long addOriginalImageFileEntry(long userId, long groupId,
148                    long entryId, ImageSelector imageSelector) throws PortalException;
149    
150            public void addSmallImage(long entryId, ImageSelector imageSelector)
151                    throws PortalException;
152    
153            public void checkEntries() throws PortalException;
154    
155            /**
156            * Creates a new blogs entry with the primary key. Does not add the blogs entry to the database.
157            *
158            * @param entryId the primary key for the new blogs entry
159            * @return the new blogs entry
160            */
161            public BlogsEntry createBlogsEntry(long entryId);
162    
163            /**
164            * Deletes the blogs entry from the database. Also notifies the appropriate model listeners.
165            *
166            * @param blogsEntry the blogs entry
167            * @return the blogs entry that was removed
168            */
169            @Indexable(type = IndexableType.DELETE)
170            public BlogsEntry deleteBlogsEntry(BlogsEntry blogsEntry);
171    
172            /**
173            * Deletes the blogs entry with the primary key from the database. Also notifies the appropriate model listeners.
174            *
175            * @param entryId the primary key of the blogs entry
176            * @return the blogs entry that was removed
177            * @throws PortalException if a blogs entry with the primary key could not be found
178            */
179            @Indexable(type = IndexableType.DELETE)
180            public BlogsEntry deleteBlogsEntry(long entryId) throws PortalException;
181    
182            public void deleteEntries(long groupId) throws PortalException;
183    
184            @Indexable(type = IndexableType.DELETE)
185            @SystemEvent(type = SystemEventConstants.TYPE_DELETE)
186            public BlogsEntry deleteEntry(BlogsEntry entry) throws PortalException;
187    
188            public void deleteEntry(long entryId) throws PortalException;
189    
190            /**
191            * @throws PortalException
192            */
193            @Override
194            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
195                    throws PortalException;
196    
197            public DynamicQuery dynamicQuery();
198    
199            /**
200            * Performs a dynamic query on the database and returns the matching rows.
201            *
202            * @param dynamicQuery the dynamic query
203            * @return the matching rows
204            */
205            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);
206    
207            /**
208            * Performs a dynamic query on the database and returns a range of the matching rows.
209            *
210            * <p>
211            * 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.blogs.model.impl.BlogsEntryModelImpl}. 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.
212            * </p>
213            *
214            * @param dynamicQuery the dynamic query
215            * @param start the lower bound of the range of model instances
216            * @param end the upper bound of the range of model instances (not inclusive)
217            * @return the range of matching rows
218            */
219            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
220                    int end);
221    
222            /**
223            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
224            *
225            * <p>
226            * 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.blogs.model.impl.BlogsEntryModelImpl}. 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.
227            * </p>
228            *
229            * @param dynamicQuery the dynamic query
230            * @param start the lower bound of the range of model instances
231            * @param end the upper bound of the range of model instances (not inclusive)
232            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
233            * @return the ordered range of matching rows
234            */
235            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
236                    int end, OrderByComparator<T> orderByComparator);
237    
238            /**
239            * Returns the number of rows matching the dynamic query.
240            *
241            * @param dynamicQuery the dynamic query
242            * @return the number of rows matching the dynamic query
243            */
244            public long dynamicQueryCount(DynamicQuery dynamicQuery);
245    
246            /**
247            * Returns the number of rows matching the dynamic query.
248            *
249            * @param dynamicQuery the dynamic query
250            * @param projection the projection to apply to the query
251            * @return the number of rows matching the dynamic query
252            */
253            public long dynamicQueryCount(DynamicQuery dynamicQuery,
254                    Projection projection);
255    
256            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
257            public Folder fetchAttachmentsFolder(long userId, long groupId);
258    
259            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
260            public BlogsEntry fetchBlogsEntry(long entryId);
261    
262            /**
263            * Returns the blogs entry matching the UUID and group.
264            *
265            * @param uuid the blogs entry's UUID
266            * @param groupId the primary key of the group
267            * @return the matching blogs entry, or <code>null</code> if a matching blogs entry could not be found
268            */
269            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
270            public BlogsEntry fetchBlogsEntryByUuidAndGroupId(java.lang.String uuid,
271                    long groupId);
272    
273            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
274            public ActionableDynamicQuery getActionableDynamicQuery();
275    
276            /**
277            * Returns a range of all the blogs entries.
278            *
279            * <p>
280            * 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.blogs.model.impl.BlogsEntryModelImpl}. 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.
281            * </p>
282            *
283            * @param start the lower bound of the range of blogs entries
284            * @param end the upper bound of the range of blogs entries (not inclusive)
285            * @return the range of blogs entries
286            */
287            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
288            public List<BlogsEntry> getBlogsEntries(int start, int end);
289    
290            /**
291            * Returns all the blogs entries matching the UUID and company.
292            *
293            * @param uuid the UUID of the blogs entries
294            * @param companyId the primary key of the company
295            * @return the matching blogs entries, or an empty list if no matches were found
296            */
297            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
298            public List<BlogsEntry> getBlogsEntriesByUuidAndCompanyId(
299                    java.lang.String uuid, long companyId);
300    
301            /**
302            * Returns a range of blogs entries matching the UUID and company.
303            *
304            * @param uuid the UUID of the blogs entries
305            * @param companyId the primary key of the company
306            * @param start the lower bound of the range of blogs entries
307            * @param end the upper bound of the range of blogs entries (not inclusive)
308            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
309            * @return the range of matching blogs entries, or an empty list if no matches were found
310            */
311            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
312            public List<BlogsEntry> getBlogsEntriesByUuidAndCompanyId(
313                    java.lang.String uuid, long companyId, int start, int end,
314                    OrderByComparator<BlogsEntry> orderByComparator);
315    
316            /**
317            * Returns the number of blogs entries.
318            *
319            * @return the number of blogs entries
320            */
321            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
322            public int getBlogsEntriesCount();
323    
324            /**
325            * Returns the blogs entry with the primary key.
326            *
327            * @param entryId the primary key of the blogs entry
328            * @return the blogs entry
329            * @throws PortalException if a blogs entry with the primary key could not be found
330            */
331            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
332            public BlogsEntry getBlogsEntry(long entryId) throws PortalException;
333    
334            /**
335            * Returns the blogs entry matching the UUID and group.
336            *
337            * @param uuid the blogs entry's UUID
338            * @param groupId the primary key of the group
339            * @return the matching blogs entry
340            * @throws PortalException if a matching blogs entry could not be found
341            */
342            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
343            public BlogsEntry getBlogsEntryByUuidAndGroupId(java.lang.String uuid,
344                    long groupId) throws PortalException;
345    
346            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
347            public List<BlogsEntry> getCompanyEntries(long companyId, Date displayDate,
348                    QueryDefinition<BlogsEntry> queryDefinition);
349    
350            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
351            public int getCompanyEntriesCount(long companyId, Date displayDate,
352                    QueryDefinition<BlogsEntry> queryDefinition);
353    
354            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
355            public BlogsEntry[] getEntriesPrevAndNext(long entryId)
356                    throws PortalException;
357    
358            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
359            public BlogsEntry getEntry(long entryId) throws PortalException;
360    
361            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
362            public BlogsEntry getEntry(long groupId, java.lang.String urlTitle)
363                    throws PortalException;
364    
365            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
366            public ExportActionableDynamicQuery getExportActionableDynamicQuery(
367                    PortletDataContext portletDataContext);
368    
369            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
370            public List<BlogsEntry> getGroupEntries(long groupId, Date displayDate,
371                    QueryDefinition<BlogsEntry> queryDefinition);
372    
373            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
374            public List<BlogsEntry> getGroupEntries(long groupId,
375                    QueryDefinition<BlogsEntry> queryDefinition);
376    
377            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
378            public int getGroupEntriesCount(long groupId, Date displayDate,
379                    QueryDefinition<BlogsEntry> queryDefinition);
380    
381            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
382            public int getGroupEntriesCount(long groupId,
383                    QueryDefinition<BlogsEntry> queryDefinition);
384    
385            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
386            public List<BlogsEntry> getGroupUserEntries(long groupId, long userId,
387                    Date displayDate, QueryDefinition<BlogsEntry> queryDefinition);
388    
389            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
390            public int getGroupUserEntriesCount(long groupId, long userId,
391                    Date displayDate, QueryDefinition<BlogsEntry> queryDefinition);
392    
393            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
394            public List<BlogsEntry> getGroupsEntries(long companyId, long groupId,
395                    Date displayDate, QueryDefinition<BlogsEntry> queryDefinition);
396    
397            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
398            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
399    
400            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
401            public List<BlogsEntry> getNoAssetEntries();
402    
403            /**
404            * Returns the OSGi service identifier.
405            *
406            * @return the OSGi service identifier
407            */
408            public java.lang.String getOSGiServiceIdentifier();
409    
410            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
411            public List<BlogsEntry> getOrganizationEntries(long organizationId,
412                    Date displayDate, QueryDefinition<BlogsEntry> queryDefinition);
413    
414            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
415            public int getOrganizationEntriesCount(long organizationId,
416                    Date displayDate, QueryDefinition<BlogsEntry> queryDefinition);
417    
418            @Override
419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
420            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
421                    throws PortalException;
422    
423            public void moveEntriesToTrash(long groupId, long userId)
424                    throws PortalException;
425    
426            /**
427            * Moves the blogs entry to the recycle bin. Social activity counters for
428            * this entry get disabled.
429            *
430            * @param userId the primary key of the user moving the blogs entry
431            * @param entry the blogs entry to be moved
432            * @return the moved blogs entry
433            */
434            @Indexable(type = IndexableType.REINDEX)
435            public BlogsEntry moveEntryToTrash(long userId, BlogsEntry entry)
436                    throws PortalException;
437    
438            /**
439            * Moves the blogs entry with the ID to the recycle bin.
440            *
441            * @param userId the primary key of the user moving the blogs entry
442            * @param entryId the primary key of the blogs entry to be moved
443            * @return the moved blogs entry
444            */
445            public BlogsEntry moveEntryToTrash(long userId, long entryId)
446                    throws PortalException;
447    
448            /**
449            * Restores the blogs entry with the ID from the recycle bin. Social
450            * activity counters for this entry get activated.
451            *
452            * @param userId the primary key of the user restoring the blogs entry
453            * @param entryId the primary key of the blogs entry to be restored
454            * @return the restored blogs entry from the recycle bin
455            */
456            @Indexable(type = IndexableType.REINDEX)
457            public BlogsEntry restoreEntryFromTrash(long userId, long entryId)
458                    throws PortalException;
459    
460            public void subscribe(long userId, long groupId) throws PortalException;
461    
462            public void unsubscribe(long userId, long groupId)
463                    throws PortalException;
464    
465            public void updateAsset(long userId, BlogsEntry entry,
466                    long[] assetCategoryIds, java.lang.String[] assetTagNames,
467                    long[] assetLinkEntryIds, java.lang.Double priority)
468                    throws PortalException;
469    
470            /**
471            * Updates the blogs entry in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
472            *
473            * @param blogsEntry the blogs entry
474            * @return the blogs entry that was updated
475            */
476            @Indexable(type = IndexableType.REINDEX)
477            public BlogsEntry updateBlogsEntry(BlogsEntry blogsEntry);
478    
479            public BlogsEntry updateEntry(long userId, long entryId,
480                    java.lang.String title, java.lang.String content,
481                    ServiceContext serviceContext) throws PortalException;
482    
483            /**
484            * @deprecated As of 7.0.0, replaced by {@link #updateEntry(long, long,
485            String, String, String, String, int, int, int, int, int,
486            boolean, boolean, String[], String, ImageSelector,
487            ImageSelector, ServiceContext)}
488            */
489            @java.lang.Deprecated
490            public BlogsEntry updateEntry(long userId, long entryId,
491                    java.lang.String title, java.lang.String description,
492                    java.lang.String content, int displayDateMonth, int displayDateDay,
493                    int displayDateYear, int displayDateHour, int displayDateMinute,
494                    boolean allowPingbacks, boolean allowTrackbacks,
495                    java.lang.String[] trackbacks, boolean smallImage,
496                    java.lang.String smallImageURL, java.lang.String smallImageFileName,
497                    InputStream smallImageInputStream, ServiceContext serviceContext)
498                    throws PortalException;
499    
500            @Indexable(type = IndexableType.REINDEX)
501            public BlogsEntry updateEntry(long userId, long entryId,
502                    java.lang.String title, java.lang.String subtitle,
503                    java.lang.String description, java.lang.String content,
504                    Date displayDate, boolean allowPingbacks, boolean allowTrackbacks,
505                    java.lang.String[] trackbacks, java.lang.String coverImageCaption,
506                    ImageSelector coverImageImageSelector,
507                    ImageSelector smallImageImageSelector, ServiceContext serviceContext)
508                    throws PortalException;
509    
510            public BlogsEntry updateEntry(long userId, long entryId,
511                    java.lang.String title, java.lang.String subtitle,
512                    java.lang.String description, java.lang.String content,
513                    int displayDateMonth, int displayDateDay, int displayDateYear,
514                    int displayDateHour, int displayDateMinute, boolean allowPingbacks,
515                    boolean allowTrackbacks, java.lang.String[] trackbacks,
516                    java.lang.String coverImageCaption,
517                    ImageSelector coverImageImageSelector,
518                    ImageSelector smallImageImageSelector, ServiceContext serviceContext)
519                    throws PortalException;
520    
521            public void updateEntryResources(BlogsEntry entry,
522                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
523                    throws PortalException;
524    
525            public void updateEntryResources(BlogsEntry entry,
526                    ModelPermissions modelPermissions) throws PortalException;
527    
528            /**
529            * @deprecated As of 7.0.0, replaced by {@link #updateStatus(long, long,
530            int, ServiceContext, Map)}
531            */
532            @java.lang.Deprecated
533            public BlogsEntry updateStatus(long userId, long entryId, int status,
534                    ServiceContext serviceContext) throws PortalException;
535    
536            @Indexable(type = IndexableType.REINDEX)
537            public BlogsEntry updateStatus(long userId, long entryId, int status,
538                    ServiceContext serviceContext,
539                    Map<java.lang.String, Serializable> workflowContext)
540                    throws PortalException;
541    }