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.blogs.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.blogs.kernel.model.BlogsEntry;
020    
021    import com.liferay.portal.kernel.exception.PortalException;
022    import com.liferay.portal.kernel.exception.SystemException;
023    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
024    import com.liferay.portal.kernel.security.access.control.AccessControlled;
025    import com.liferay.portal.kernel.service.BaseService;
026    import com.liferay.portal.kernel.service.ServiceContext;
027    import com.liferay.portal.kernel.servlet.taglib.ui.ImageSelector;
028    import com.liferay.portal.kernel.theme.ThemeDisplay;
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    import com.liferay.portal.kernel.util.OrderByComparator;
033    
034    import java.io.InputStream;
035    
036    import java.util.Date;
037    import java.util.List;
038    
039    /**
040     * Provides the remote service interface for BlogsEntry. Methods of this
041     * service are expected to have security checks based on the propagated JAAS
042     * credentials because this service can be accessed remotely.
043     *
044     * @author Brian Wing Shun Chan
045     * @see BlogsEntryServiceUtil
046     * @see com.liferay.portlet.blogs.service.base.BlogsEntryServiceBaseImpl
047     * @see com.liferay.portlet.blogs.service.impl.BlogsEntryServiceImpl
048     * @generated
049     */
050    @AccessControlled
051    @JSONWebService
052    @ProviderType
053    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
054            PortalException.class, SystemException.class})
055    public interface BlogsEntryService extends BaseService {
056            /*
057             * NOTE FOR DEVELOPERS:
058             *
059             * Never modify or reference this interface directly. Always use {@link BlogsEntryServiceUtil} to access the blogs entry remote service. Add custom service methods to {@link com.liferay.portlet.blogs.service.impl.BlogsEntryServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
060             */
061    
062            /**
063            * @deprecated As of 7.0.0, replaced by {@link #addEntry(String, String,
064            String, String, int, int, int, int, int, boolean, boolean,
065            String[], String, ImageSelector, ImageSelector,
066            ServiceContext)}
067            */
068            @java.lang.Deprecated
069            public BlogsEntry addEntry(java.lang.String title,
070                    java.lang.String description, java.lang.String content,
071                    int displayDateMonth, int displayDateDay, int displayDateYear,
072                    int displayDateHour, int displayDateMinute, boolean allowPingbacks,
073                    boolean allowTrackbacks, java.lang.String[] trackbacks,
074                    boolean smallImage, java.lang.String smallImageURL,
075                    java.lang.String smallImageFileName, InputStream smallImageInputStream,
076                    ServiceContext serviceContext) throws PortalException;
077    
078            public BlogsEntry addEntry(java.lang.String title,
079                    java.lang.String subtitle, java.lang.String description,
080                    java.lang.String content, int displayDateMonth, int displayDateDay,
081                    int displayDateYear, int displayDateHour, int displayDateMinute,
082                    boolean allowPingbacks, boolean allowTrackbacks,
083                    java.lang.String[] trackbacks, java.lang.String coverImageCaption,
084                    ImageSelector coverImageImageSelector,
085                    ImageSelector smallImageImageSelector, ServiceContext serviceContext)
086                    throws PortalException;
087    
088            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
089            public BlogsEntry getEntry(long entryId) throws PortalException;
090    
091            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
092            public BlogsEntry getEntry(long groupId, java.lang.String urlTitle)
093                    throws PortalException;
094    
095            public BlogsEntry moveEntryToTrash(long entryId) throws PortalException;
096    
097            /**
098            * @deprecated As of 7.0.0, replaced by {@link #updateEntry(long, String,
099            String, String, String, int, int, int, int, int, boolean,
100            boolean, String[], String, ImageSelector, ImageSelector,
101            ServiceContext)}
102            */
103            @java.lang.Deprecated
104            public BlogsEntry updateEntry(long entryId, java.lang.String title,
105                    java.lang.String description, java.lang.String content,
106                    int displayDateMonth, int displayDateDay, int displayDateYear,
107                    int displayDateHour, int displayDateMinute, boolean allowPingbacks,
108                    boolean allowTrackbacks, java.lang.String[] trackbacks,
109                    boolean smallImage, java.lang.String smallImageURL,
110                    java.lang.String smallImageFileName, InputStream smallImageInputStream,
111                    ServiceContext serviceContext) throws PortalException;
112    
113            public BlogsEntry updateEntry(long entryId, java.lang.String title,
114                    java.lang.String subtitle, java.lang.String description,
115                    java.lang.String content, int displayDateMonth, int displayDateDay,
116                    int displayDateYear, int displayDateHour, int displayDateMinute,
117                    boolean allowPingbacks, boolean allowTrackbacks,
118                    java.lang.String[] trackbacks, java.lang.String coverImageCaption,
119                    ImageSelector coverImageImageSelector,
120                    ImageSelector smallImageImageSelector, ServiceContext serviceContext)
121                    throws PortalException;
122    
123            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
124            public int getGroupEntriesCount(long groupId, int status);
125    
126            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
127            public int getGroupEntriesCount(long groupId, Date displayDate, int status);
128    
129            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
130            public int getGroupUserEntriesCount(long groupId, long userId, int status);
131    
132            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
133            public int getGroupUserEntriesCount(long groupId, long userId,
134                    int[] statuses);
135    
136            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
137            public java.lang.String getCompanyEntriesRSS(long companyId,
138                    Date displayDate, int status, int max, java.lang.String type,
139                    double version, java.lang.String displayStyle,
140                    java.lang.String feedURL, java.lang.String entryURL,
141                    ThemeDisplay themeDisplay) throws PortalException;
142    
143            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
144            public java.lang.String getGroupEntriesRSS(long groupId, Date displayDate,
145                    int status, int max, java.lang.String type, double version,
146                    java.lang.String displayStyle, java.lang.String feedURL,
147                    java.lang.String entryURL, ThemeDisplay themeDisplay)
148                    throws PortalException;
149    
150            /**
151            * Returns the OSGi service identifier.
152            *
153            * @return the OSGi service identifier
154            */
155            public java.lang.String getOSGiServiceIdentifier();
156    
157            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
158            public java.lang.String getOrganizationEntriesRSS(long organizationId,
159                    Date displayDate, int status, int max, java.lang.String type,
160                    double version, java.lang.String displayStyle,
161                    java.lang.String feedURL, java.lang.String entryURL,
162                    ThemeDisplay themeDisplay) throws PortalException;
163    
164            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
165            public List<BlogsEntry> getCompanyEntries(long companyId, Date displayDate,
166                    int status, int max) throws PortalException;
167    
168            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
169            public List<BlogsEntry> getGroupEntries(long groupId, int status, int max);
170    
171            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
172            public List<BlogsEntry> getGroupEntries(long groupId, int status,
173                    int start, int end);
174    
175            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
176            public List<BlogsEntry> getGroupEntries(long groupId, int status,
177                    int start, int end, OrderByComparator<BlogsEntry> obc);
178    
179            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
180            public List<BlogsEntry> getGroupEntries(long groupId, Date displayDate,
181                    int status, int max);
182    
183            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
184            public List<BlogsEntry> getGroupEntries(long groupId, Date displayDate,
185                    int status, int start, int end);
186    
187            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
188            public List<BlogsEntry> getGroupUserEntries(long groupId, long userId,
189                    int status, int start, int end, OrderByComparator<BlogsEntry> obc);
190    
191            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
192            public List<BlogsEntry> getGroupUserEntries(long groupId, long userId,
193                    int[] statuses, int start, int end, OrderByComparator<BlogsEntry> obc);
194    
195            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
196            public List<BlogsEntry> getGroupsEntries(long companyId, long groupId,
197                    Date displayDate, int status, int max) throws PortalException;
198    
199            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
200            public List<BlogsEntry> getOrganizationEntries(long organizationId,
201                    Date displayDate, int status, int max) throws PortalException;
202    
203            public void deleteEntry(long entryId) throws PortalException;
204    
205            public void restoreEntryFromTrash(long entryId) throws PortalException;
206    
207            public void subscribe(long groupId) throws PortalException;
208    
209            public void unsubscribe(long groupId) throws PortalException;
210    }