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.portal.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.search.IndexableType;
022    import com.liferay.portal.kernel.transaction.Isolation;
023    import com.liferay.portal.kernel.transaction.Propagation;
024    import com.liferay.portal.kernel.transaction.Transactional;
025    
026    /**
027     * Provides the local service interface for LayoutSet. Methods of this
028     * service will not have security checks based on the propagated JAAS
029     * credentials because this service can only be accessed from within the same
030     * VM.
031     *
032     * @author Brian Wing Shun Chan
033     * @see LayoutSetLocalServiceUtil
034     * @see com.liferay.portal.service.base.LayoutSetLocalServiceBaseImpl
035     * @see com.liferay.portal.service.impl.LayoutSetLocalServiceImpl
036     * @generated
037     */
038    @ProviderType
039    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
040            PortalException.class, SystemException.class})
041    public interface LayoutSetLocalService extends BaseLocalService,
042            PersistedModelLocalService {
043            /*
044             * NOTE FOR DEVELOPERS:
045             *
046             * Never modify or reference this interface directly. Always use {@link LayoutSetLocalServiceUtil} to access the layout set local service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutSetLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
047             */
048            public com.liferay.portal.model.LayoutSet addLayoutSet(long groupId,
049                    boolean privateLayout) throws PortalException;
050    
051            /**
052            * Adds the layout set to the database. Also notifies the appropriate model listeners.
053            *
054            * @param layoutSet the layout set
055            * @return the layout set that was added
056            */
057            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
058            public com.liferay.portal.model.LayoutSet addLayoutSet(
059                    com.liferay.portal.model.LayoutSet layoutSet);
060    
061            /**
062            * Creates a new layout set with the primary key. Does not add the layout set to the database.
063            *
064            * @param layoutSetId the primary key for the new layout set
065            * @return the new layout set
066            */
067            public com.liferay.portal.model.LayoutSet createLayoutSet(long layoutSetId);
068    
069            public void deleteLayoutSet(long groupId, boolean privateLayout,
070                    com.liferay.portal.service.ServiceContext serviceContext)
071                    throws PortalException;
072    
073            /**
074            * Deletes the layout set from the database. Also notifies the appropriate model listeners.
075            *
076            * @param layoutSet the layout set
077            * @return the layout set that was removed
078            */
079            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
080            public com.liferay.portal.model.LayoutSet deleteLayoutSet(
081                    com.liferay.portal.model.LayoutSet layoutSet);
082    
083            /**
084            * Deletes the layout set with the primary key from the database. Also notifies the appropriate model listeners.
085            *
086            * @param layoutSetId the primary key of the layout set
087            * @return the layout set that was removed
088            * @throws PortalException if a layout set with the primary key could not be found
089            */
090            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
091            public com.liferay.portal.model.LayoutSet deleteLayoutSet(long layoutSetId)
092                    throws PortalException;
093    
094            /**
095            * @throws PortalException
096            */
097            @Override
098            public com.liferay.portal.model.PersistedModel deletePersistedModel(
099                    com.liferay.portal.model.PersistedModel persistedModel)
100                    throws PortalException;
101    
102            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
103    
104            /**
105            * Performs a dynamic query on the database and returns the matching rows.
106            *
107            * @param dynamicQuery the dynamic query
108            * @return the matching rows
109            */
110            public <T> java.util.List<T> dynamicQuery(
111                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
112    
113            /**
114            * Performs a dynamic query on the database and returns a range of the matching rows.
115            *
116            * <p>
117            * 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.portal.model.impl.LayoutSetModelImpl}. 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.
118            * </p>
119            *
120            * @param dynamicQuery the dynamic query
121            * @param start the lower bound of the range of model instances
122            * @param end the upper bound of the range of model instances (not inclusive)
123            * @return the range of matching rows
124            */
125            public <T> java.util.List<T> dynamicQuery(
126                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
127                    int end);
128    
129            /**
130            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
131            *
132            * <p>
133            * 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.portal.model.impl.LayoutSetModelImpl}. 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.
134            * </p>
135            *
136            * @param dynamicQuery the dynamic query
137            * @param start the lower bound of the range of model instances
138            * @param end the upper bound of the range of model instances (not inclusive)
139            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
140            * @return the ordered range of matching rows
141            */
142            public <T> java.util.List<T> dynamicQuery(
143                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
144                    int end,
145                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
146    
147            /**
148            * Returns the number of rows matching the dynamic query.
149            *
150            * @param dynamicQuery the dynamic query
151            * @return the number of rows matching the dynamic query
152            */
153            public long dynamicQueryCount(
154                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
155    
156            /**
157            * Returns the number of rows matching the dynamic query.
158            *
159            * @param dynamicQuery the dynamic query
160            * @param projection the projection to apply to the query
161            * @return the number of rows matching the dynamic query
162            */
163            public long dynamicQueryCount(
164                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
165                    com.liferay.portal.kernel.dao.orm.Projection projection);
166    
167            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
168            public com.liferay.portal.model.LayoutSet fetchLayoutSet(long layoutSetId);
169    
170            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
171            public com.liferay.portal.model.LayoutSet fetchLayoutSet(
172                    java.lang.String virtualHostname);
173    
174            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
175            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
176    
177            /**
178            * Returns the Spring bean ID for this bean.
179            *
180            * @return the Spring bean ID for this bean
181            */
182            public java.lang.String getBeanIdentifier();
183    
184            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
185            public com.liferay.portal.model.LayoutSet getLayoutSet(long groupId,
186                    boolean privateLayout) throws PortalException;
187    
188            /**
189            * Returns the layout set with the primary key.
190            *
191            * @param layoutSetId the primary key of the layout set
192            * @return the layout set
193            * @throws PortalException if a layout set with the primary key could not be found
194            */
195            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
196            public com.liferay.portal.model.LayoutSet getLayoutSet(long layoutSetId)
197                    throws PortalException;
198    
199            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
200            public com.liferay.portal.model.LayoutSet getLayoutSet(
201                    java.lang.String virtualHostname) throws PortalException;
202    
203            /**
204            * Returns a range of all the layout sets.
205            *
206            * <p>
207            * 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.portal.model.impl.LayoutSetModelImpl}. 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.
208            * </p>
209            *
210            * @param start the lower bound of the range of layout sets
211            * @param end the upper bound of the range of layout sets (not inclusive)
212            * @return the range of layout sets
213            */
214            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
215            public java.util.List<com.liferay.portal.model.LayoutSet> getLayoutSets(
216                    int start, int end);
217    
218            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
219            public java.util.List<com.liferay.portal.model.LayoutSet> getLayoutSetsByLayoutSetPrototypeUuid(
220                    java.lang.String layoutSetPrototypeUuid);
221    
222            /**
223            * Returns the number of layout sets.
224            *
225            * @return the number of layout sets
226            */
227            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
228            public int getLayoutSetsCount();
229    
230            @Override
231            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
232            public com.liferay.portal.model.PersistedModel getPersistedModel(
233                    java.io.Serializable primaryKeyObj) throws PortalException;
234    
235            /**
236            * Sets the Spring bean ID for this bean.
237            *
238            * @param beanIdentifier the Spring bean ID for this bean
239            */
240            public void setBeanIdentifier(java.lang.String beanIdentifier);
241    
242            /**
243            * Updates the layout set in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
244            *
245            * @param layoutSet the layout set
246            * @return the layout set that was updated
247            */
248            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
249            public com.liferay.portal.model.LayoutSet updateLayoutSet(
250                    com.liferay.portal.model.LayoutSet layoutSet);
251    
252            /**
253            * Updates the state of the layout set prototype link.
254            *
255            * <p>
256            * This method can disable the layout set prototype's link by setting
257            * <code>layoutSetPrototypeLinkEnabled</code> to <code>false</code>.
258            * However, this method can only enable the layout set prototype's link if
259            * the layout set prototype's current uuid is not <code>null</code>. Setting
260            * the <code>layoutSetPrototypeLinkEnabled</code> to <code>true</code> when
261            * the layout set prototype's current uuid is <code>null</code> will have no
262            * effect.
263            * </p>
264            *
265            * @param groupId the primary key of the group
266            * @param privateLayout whether the layout set is private to the group
267            * @param layoutSetPrototypeLinkEnabled whether the layout set
268            prototype is link enabled
269            * @throws PortalException if a portal exception occurred
270            * @deprecated As of 6.1.0, replaced by {@link
271            #updateLayoutSetPrototypeLinkEnabled(long, boolean, boolean,
272            String)}
273            */
274            @java.lang.Deprecated
275            public void updateLayoutSetPrototypeLinkEnabled(long groupId,
276                    boolean privateLayout, boolean layoutSetPrototypeLinkEnabled)
277                    throws PortalException;
278    
279            /**
280            * Updates the state of the layout set prototype link.
281            *
282            * @param groupId the primary key of the group
283            * @param privateLayout whether the layout set is private to the group
284            * @param layoutSetPrototypeLinkEnabled whether the layout set prototype is
285            link enabled
286            * @param layoutSetPrototypeUuid the uuid of the layout set prototype to
287            link with
288            * @throws PortalException if a portal exception occurred
289            */
290            public void updateLayoutSetPrototypeLinkEnabled(long groupId,
291                    boolean privateLayout, boolean layoutSetPrototypeLinkEnabled,
292                    java.lang.String layoutSetPrototypeUuid) throws PortalException;
293    
294            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
295                    boolean privateLayout, boolean logo, byte[] bytes)
296                    throws PortalException;
297    
298            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
299                    boolean privateLayout, boolean logo, java.io.File file)
300                    throws PortalException;
301    
302            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
303                    boolean privateLayout, boolean logo, java.io.InputStream is)
304                    throws PortalException;
305    
306            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
307                    boolean privateLayout, boolean logo, java.io.InputStream is,
308                    boolean cleanUpStream) throws PortalException;
309    
310            public com.liferay.portal.model.LayoutSet updateLookAndFeel(long groupId,
311                    boolean privateLayout, java.lang.String themeId,
312                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
313                    throws PortalException;
314    
315            public void updateLookAndFeel(long groupId, java.lang.String themeId,
316                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
317                    throws PortalException;
318    
319            public com.liferay.portal.model.LayoutSet updatePageCount(long groupId,
320                    boolean privateLayout) throws PortalException;
321    
322            public com.liferay.portal.model.LayoutSet updateSettings(long groupId,
323                    boolean privateLayout, java.lang.String settings)
324                    throws PortalException;
325    
326            public com.liferay.portal.model.LayoutSet updateVirtualHost(long groupId,
327                    boolean privateLayout, java.lang.String virtualHostname)
328                    throws PortalException;
329    }