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            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
178            public com.liferay.portal.model.LayoutSet getLayoutSet(long groupId,
179                    boolean privateLayout) throws PortalException;
180    
181            /**
182            * Returns the layout set with the primary key.
183            *
184            * @param layoutSetId the primary key of the layout set
185            * @return the layout set
186            * @throws PortalException if a layout set with the primary key could not be found
187            */
188            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
189            public com.liferay.portal.model.LayoutSet getLayoutSet(long layoutSetId)
190                    throws PortalException;
191    
192            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
193            public com.liferay.portal.model.LayoutSet getLayoutSet(
194                    java.lang.String virtualHostname) throws PortalException;
195    
196            /**
197            * Returns a range of all the layout sets.
198            *
199            * <p>
200            * 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.
201            * </p>
202            *
203            * @param start the lower bound of the range of layout sets
204            * @param end the upper bound of the range of layout sets (not inclusive)
205            * @return the range of layout sets
206            */
207            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
208            public java.util.List<com.liferay.portal.model.LayoutSet> getLayoutSets(
209                    int start, int end);
210    
211            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
212            public java.util.List<com.liferay.portal.model.LayoutSet> getLayoutSetsByLayoutSetPrototypeUuid(
213                    java.lang.String layoutSetPrototypeUuid);
214    
215            /**
216            * Returns the number of layout sets.
217            *
218            * @return the number of layout sets
219            */
220            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
221            public int getLayoutSetsCount();
222    
223            /**
224            * Returns the OSGi service identifier.
225            *
226            * @return the OSGi service identifier
227            */
228            public java.lang.String getOSGiServiceIdentifier();
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            * Updates the layout set in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
237            *
238            * @param layoutSet the layout set
239            * @return the layout set that was updated
240            */
241            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
242            public com.liferay.portal.model.LayoutSet updateLayoutSet(
243                    com.liferay.portal.model.LayoutSet layoutSet);
244    
245            /**
246            * Updates the state of the layout set prototype link.
247            *
248            * <p>
249            * This method can disable the layout set prototype's link by setting
250            * <code>layoutSetPrototypeLinkEnabled</code> to <code>false</code>.
251            * However, this method can only enable the layout set prototype's link if
252            * the layout set prototype's current uuid is not <code>null</code>. Setting
253            * the <code>layoutSetPrototypeLinkEnabled</code> to <code>true</code> when
254            * the layout set prototype's current uuid is <code>null</code> will have no
255            * effect.
256            * </p>
257            *
258            * @param groupId the primary key of the group
259            * @param privateLayout whether the layout set is private to the group
260            * @param layoutSetPrototypeLinkEnabled whether the layout set
261            prototype is link enabled
262            * @deprecated As of 6.1.0, replaced by {@link
263            #updateLayoutSetPrototypeLinkEnabled(long, boolean, boolean,
264            String)}
265            */
266            @java.lang.Deprecated
267            public void updateLayoutSetPrototypeLinkEnabled(long groupId,
268                    boolean privateLayout, boolean layoutSetPrototypeLinkEnabled)
269                    throws PortalException;
270    
271            /**
272            * Updates the state of the layout set prototype link.
273            *
274            * @param groupId the primary key of the group
275            * @param privateLayout whether the layout set is private to the group
276            * @param layoutSetPrototypeLinkEnabled whether the layout set prototype is
277            link enabled
278            * @param layoutSetPrototypeUuid the uuid of the layout set prototype to
279            link with
280            */
281            public void updateLayoutSetPrototypeLinkEnabled(long groupId,
282                    boolean privateLayout, boolean layoutSetPrototypeLinkEnabled,
283                    java.lang.String layoutSetPrototypeUuid) throws PortalException;
284    
285            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
286                    boolean privateLayout, boolean logo, byte[] bytes)
287                    throws PortalException;
288    
289            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
290                    boolean privateLayout, boolean logo, java.io.File file)
291                    throws PortalException;
292    
293            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
294                    boolean privateLayout, boolean logo, java.io.InputStream is)
295                    throws PortalException;
296    
297            public com.liferay.portal.model.LayoutSet updateLogo(long groupId,
298                    boolean privateLayout, boolean logo, java.io.InputStream is,
299                    boolean cleanUpStream) throws PortalException;
300    
301            public com.liferay.portal.model.LayoutSet updateLookAndFeel(long groupId,
302                    boolean privateLayout, java.lang.String themeId,
303                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
304                    throws PortalException;
305    
306            public void updateLookAndFeel(long groupId, java.lang.String themeId,
307                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
308                    throws PortalException;
309    
310            public com.liferay.portal.model.LayoutSet updatePageCount(long groupId,
311                    boolean privateLayout) throws PortalException;
312    
313            public com.liferay.portal.model.LayoutSet updateSettings(long groupId,
314                    boolean privateLayout, java.lang.String settings)
315                    throws PortalException;
316    
317            public com.liferay.portal.model.LayoutSet updateVirtualHost(long groupId,
318                    boolean privateLayout, java.lang.String virtualHostname)
319                    throws PortalException;
320    }