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