001    /**
002     * Copyright (c) 2000-2013 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    import com.liferay.portal.model.SystemEventConstants;
026    
027    /**
028     * Provides the local service interface for Layout. Methods of this
029     * service will not have security checks based on the propagated JAAS
030     * credentials because this service can only be accessed from within the same
031     * VM.
032     *
033     * @author Brian Wing Shun Chan
034     * @see LayoutLocalServiceUtil
035     * @see com.liferay.portal.service.base.LayoutLocalServiceBaseImpl
036     * @see com.liferay.portal.service.impl.LayoutLocalServiceImpl
037     * @generated
038     */
039    @ProviderType
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface LayoutLocalService extends BaseLocalService,
043            PersistedModelLocalService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * Never modify or reference this interface directly. Always use {@link LayoutLocalServiceUtil} to access the layout local service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
048             */
049    
050            /**
051            * Adds the layout to the database. Also notifies the appropriate model listeners.
052            *
053            * @param layout the layout
054            * @return the layout that was added
055            * @throws SystemException if a system exception occurred
056            */
057            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
058            public com.liferay.portal.model.Layout addLayout(
059                    com.liferay.portal.model.Layout layout)
060                    throws com.liferay.portal.kernel.exception.SystemException;
061    
062            /**
063            * Creates a new layout with the primary key. Does not add the layout to the database.
064            *
065            * @param plid the primary key for the new layout
066            * @return the new layout
067            */
068            public com.liferay.portal.model.Layout createLayout(long plid);
069    
070            /**
071            * Deletes the layout with the primary key from the database. Also notifies the appropriate model listeners.
072            *
073            * @param plid the primary key of the layout
074            * @return the layout that was removed
075            * @throws PortalException if a layout with the primary key could not be found
076            * @throws SystemException if a system exception occurred
077            */
078            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
079            public com.liferay.portal.model.Layout deleteLayout(long plid)
080                    throws com.liferay.portal.kernel.exception.PortalException,
081                            com.liferay.portal.kernel.exception.SystemException;
082    
083            /**
084            * Deletes the layout from the database. Also notifies the appropriate model listeners.
085            *
086            * @param layout the layout
087            * @return the layout that was removed
088            * @throws SystemException if a system exception occurred
089            */
090            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
091            public com.liferay.portal.model.Layout deleteLayout(
092                    com.liferay.portal.model.Layout layout)
093                    throws com.liferay.portal.kernel.exception.SystemException;
094    
095            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
096    
097            /**
098            * Performs a dynamic query on the database and returns the matching rows.
099            *
100            * @param dynamicQuery the dynamic query
101            * @return the matching rows
102            * @throws SystemException if a system exception occurred
103            */
104            @SuppressWarnings("rawtypes")
105            public java.util.List dynamicQuery(
106                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
107                    throws com.liferay.portal.kernel.exception.SystemException;
108    
109            /**
110            * Performs a dynamic query on the database and returns a range of the matching rows.
111            *
112            * <p>
113            * 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.LayoutModelImpl}. 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.
114            * </p>
115            *
116            * @param dynamicQuery the dynamic query
117            * @param start the lower bound of the range of model instances
118            * @param end the upper bound of the range of model instances (not inclusive)
119            * @return the range of matching rows
120            * @throws SystemException if a system exception occurred
121            */
122            @SuppressWarnings("rawtypes")
123            public java.util.List dynamicQuery(
124                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
125                    int end) throws com.liferay.portal.kernel.exception.SystemException;
126    
127            /**
128            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
129            *
130            * <p>
131            * 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.LayoutModelImpl}. 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.
132            * </p>
133            *
134            * @param dynamicQuery the dynamic query
135            * @param start the lower bound of the range of model instances
136            * @param end the upper bound of the range of model instances (not inclusive)
137            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
138            * @return the ordered range of matching rows
139            * @throws SystemException if a system exception occurred
140            */
141            @SuppressWarnings("rawtypes")
142            public java.util.List dynamicQuery(
143                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
144                    int end,
145                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
146                    throws com.liferay.portal.kernel.exception.SystemException;
147    
148            /**
149            * Returns the number of rows that match the dynamic query.
150            *
151            * @param dynamicQuery the dynamic query
152            * @return the number of rows that match the dynamic query
153            * @throws SystemException if a system exception occurred
154            */
155            public long dynamicQueryCount(
156                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
157                    throws com.liferay.portal.kernel.exception.SystemException;
158    
159            /**
160            * Returns the number of rows that match the dynamic query.
161            *
162            * @param dynamicQuery the dynamic query
163            * @param projection the projection to apply to the query
164            * @return the number of rows that match the dynamic query
165            * @throws SystemException if a system exception occurred
166            */
167            public long dynamicQueryCount(
168                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
169                    com.liferay.portal.kernel.dao.orm.Projection projection)
170                    throws com.liferay.portal.kernel.exception.SystemException;
171    
172            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
173            public com.liferay.portal.model.Layout fetchLayout(long plid)
174                    throws com.liferay.portal.kernel.exception.SystemException;
175    
176            /**
177            * Returns the layout with the matching UUID and company.
178            *
179            * @param uuid the layout's UUID
180            * @param companyId the primary key of the company
181            * @return the matching layout, or <code>null</code> if a matching layout could not be found
182            * @throws SystemException if a system exception occurred
183            */
184            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
185            public com.liferay.portal.model.Layout fetchLayoutByUuidAndCompanyId(
186                    java.lang.String uuid, long companyId)
187                    throws com.liferay.portal.kernel.exception.SystemException;
188    
189            /**
190            * Returns the layout matching the UUID, group, and privacy.
191            *
192            * @param uuid the layout's UUID
193            * @param groupId the primary key of the group
194            * @param privateLayout whether the layout is private to the group
195            * @return the matching layout, or <code>null</code> if a matching layout could not be found
196            * @throws SystemException if a system exception occurred
197            */
198            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
199            public com.liferay.portal.model.Layout fetchLayoutByUuidAndGroupId(
200                    java.lang.String uuid, long groupId, boolean privateLayout)
201                    throws com.liferay.portal.kernel.exception.SystemException;
202    
203            /**
204            * Returns the layout with the primary key.
205            *
206            * @param plid the primary key of the layout
207            * @return the layout
208            * @throws PortalException if a layout with the primary key could not be found
209            * @throws SystemException if a system exception occurred
210            */
211            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
212            public com.liferay.portal.model.Layout getLayout(long plid)
213                    throws com.liferay.portal.kernel.exception.PortalException,
214                            com.liferay.portal.kernel.exception.SystemException;
215    
216            @Override
217            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
218            public com.liferay.portal.model.PersistedModel getPersistedModel(
219                    java.io.Serializable primaryKeyObj)
220                    throws com.liferay.portal.kernel.exception.PortalException,
221                            com.liferay.portal.kernel.exception.SystemException;
222    
223            /**
224            * Returns the layout with the matching UUID and company.
225            *
226            * @param uuid the layout's UUID
227            * @param companyId the primary key of the company
228            * @return the matching layout
229            * @throws PortalException if a matching layout could not be found
230            * @throws SystemException if a system exception occurred
231            */
232            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
233            public com.liferay.portal.model.Layout getLayoutByUuidAndCompanyId(
234                    java.lang.String uuid, long companyId)
235                    throws com.liferay.portal.kernel.exception.PortalException,
236                            com.liferay.portal.kernel.exception.SystemException;
237    
238            /**
239            * Returns the layout matching the UUID, group, and privacy.
240            *
241            * @param uuid the layout's UUID
242            * @param groupId the primary key of the group
243            * @param privateLayout whether the layout is private to the group
244            * @return the matching layout
245            * @throws PortalException if a matching layout could not be found
246            * @throws SystemException if a system exception occurred
247            */
248            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
249            public com.liferay.portal.model.Layout getLayoutByUuidAndGroupId(
250                    java.lang.String uuid, long groupId, boolean privateLayout)
251                    throws com.liferay.portal.kernel.exception.PortalException,
252                            com.liferay.portal.kernel.exception.SystemException;
253    
254            /**
255            * Returns a range of all the layouts.
256            *
257            * <p>
258            * 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.LayoutModelImpl}. 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.
259            * </p>
260            *
261            * @param start the lower bound of the range of layouts
262            * @param end the upper bound of the range of layouts (not inclusive)
263            * @return the range of layouts
264            * @throws SystemException if a system exception occurred
265            */
266            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
267            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
268                    int start, int end)
269                    throws com.liferay.portal.kernel.exception.SystemException;
270    
271            /**
272            * Returns the number of layouts.
273            *
274            * @return the number of layouts
275            * @throws SystemException if a system exception occurred
276            */
277            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
278            public int getLayoutsCount()
279                    throws com.liferay.portal.kernel.exception.SystemException;
280    
281            /**
282            * Updates the layout in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
283            *
284            * @param layout the layout
285            * @return the layout that was updated
286            * @throws SystemException if a system exception occurred
287            */
288            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
289            public com.liferay.portal.model.Layout updateLayout(
290                    com.liferay.portal.model.Layout layout)
291                    throws com.liferay.portal.kernel.exception.SystemException;
292    
293            /**
294            * Returns the Spring bean ID for this bean.
295            *
296            * @return the Spring bean ID for this bean
297            */
298            public java.lang.String getBeanIdentifier();
299    
300            /**
301            * Sets the Spring bean ID for this bean.
302            *
303            * @param beanIdentifier the Spring bean ID for this bean
304            */
305            public void setBeanIdentifier(java.lang.String beanIdentifier);
306    
307            /**
308            * Adds a layout.
309            *
310            * <p>
311            * This method handles the creation of the layout including its resources,
312            * metadata, and internal data structures. It is not necessary to make
313            * subsequent calls to any methods to setup default groups, resources, ...
314            * etc.
315            * </p>
316            *
317            * @param userId the primary key of the user
318            * @param groupId the primary key of the group
319            * @param privateLayout whether the layout is private to the group
320            * @param parentLayoutId the primary key of the parent layout
321            (optionally {@link
322            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
323            * @param nameMap the layout's locales and localized names
324            * @param titleMap the layout's locales and localized titles
325            * @param descriptionMap the layout's locales and localized
326            descriptions
327            * @param keywordsMap the layout's locales and localized keywords
328            * @param robotsMap the layout's locales and localized robots
329            * @param type the layout's type (optionally {@link
330            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
331            possible types can be found in {@link
332            com.liferay.portal.model.LayoutConstants}.
333            * @param hidden whether the layout is hidden
334            * @param friendlyURL the layout's friendly URL (optionally {@link
335            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
336            or {@link
337            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
338            The default values can be overridden in
339            <code>portal-ext.properties</code> by specifying new values
340            for the corresponding properties defined in {@link
341            com.liferay.portal.util.PropsValues}. To see how the URL is
342            normalized when accessed, see {@link
343            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
344            String)}.
345            * @param serviceContext the service context to be applied. Must set
346            the UUID for the layout. Can set the creation date,
347            modification date and the expando bridge attributes for the
348            layout. For layouts that belong to a layout set prototype, an
349            attribute named <code>layoutUpdateable</code> can be set to
350            specify whether site administrators can modify this page
351            within their site. For layouts that are created from a layout
352            prototype, attributes named <code>layoutPrototypeUuid</code>
353            and <code>layoutPrototypeLinkedEnabled</code> can be
354            specified to provide the unique identifier of the source
355            prototype and a boolean to determine whether a link to it
356            should be enabled to activate propagation of changes made to
357            the linked page in the prototype.
358            * @return the layout
359            * @throws PortalException if a group or user with the primary key could
360            not be found, if layout values were invalid, or if a portal
361            exception occurred
362            * @throws SystemException if a system exception occurred
363            * @deprecated As of 6.2.0, replaced by {@link #addLayout(long, long,
364            boolean, long, Map, Map, Map, Map, Map, String, String,
365            boolean, Map, ServiceContext)}
366            */
367            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
368                    boolean privateLayout, long parentLayoutId,
369                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
370                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
371                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
372                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
373                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
374                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
375                    com.liferay.portal.service.ServiceContext serviceContext)
376                    throws com.liferay.portal.kernel.exception.PortalException,
377                            com.liferay.portal.kernel.exception.SystemException;
378    
379            /**
380            * Adds a layout with additional parameters.
381            *
382            * <p>
383            * This method handles the creation of the layout including its resources,
384            * metadata, and internal data structures. It is not necessary to make
385            * subsequent calls to any methods to setup default groups, resources, ...
386            * etc.
387            * </p>
388            *
389            * @param userId the primary key of the user
390            * @param groupId the primary key of the group
391            * @param privateLayout whether the layout is private to the group
392            * @param parentLayoutId the primary key of the parent layout (optionally
393            {@link
394            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
395            * @param nameMap the layout's locales and localized names
396            * @param titleMap the layout's locales and localized titles
397            * @param descriptionMap the layout's locales and localized descriptions
398            * @param keywordsMap the layout's locales and localized keywords
399            * @param robotsMap the layout's locales and localized robots
400            * @param type the layout's type (optionally {@link
401            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
402            possible types can be found in {@link
403            com.liferay.portal.model.LayoutConstants}.
404            * @param typeSettings the settings to load the unicode properties object.
405            See {@link com.liferay.portal.kernel.util.UnicodeProperties
406            #fastLoad(String)}.
407            * @param hidden whether the layout is hidden
408            * @param friendlyURLMap the layout's locales and localized friendly URLs.
409            To see how the URL is normalized when accessed, see {@link
410            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
411            String)}.
412            * @param serviceContext the service context to be applied. Must set the
413            UUID for the layout. Can set the creation date, modification
414            date, and expando bridge attributes for the layout. For layouts
415            that belong to a layout set prototype, an attribute named
416            <code>layoutUpdateable</code> can be set to specify whether site
417            administrators can modify this page within their site. For
418            layouts that are created from a layout prototype, attributes
419            named <code>layoutPrototypeUuid</code> and
420            <code>layoutPrototypeLinkedEnabled</code> can be specified to
421            provide the unique identifier of the source prototype and a
422            boolean to determine whether a link to it should be enabled to
423            activate propagation of changes made to the linked page in the
424            prototype.
425            * @return the layout
426            * @throws PortalException if a group or user with the primary key could not
427            be found, if layout values were invalid, or if a portal exception
428            occurred
429            * @throws SystemException if a system exception occurred
430            */
431            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
432                    boolean privateLayout, long parentLayoutId,
433                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
434                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
435                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
436                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
437                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
438                    java.lang.String type, java.lang.String typeSettings, boolean hidden,
439                    java.util.Map<java.util.Locale, java.lang.String> friendlyURLMap,
440                    com.liferay.portal.service.ServiceContext serviceContext)
441                    throws com.liferay.portal.kernel.exception.PortalException,
442                            com.liferay.portal.kernel.exception.SystemException;
443    
444            /**
445            * Adds a layout with single entry maps for name, title, and description to
446            * the default locale.
447            *
448            * <p>
449            * This method handles the creation of the layout including its resources,
450            * metadata, and internal data structures. It is not necessary to make
451            * subsequent calls to any methods to setup default groups, resources, ...
452            * etc.
453            * </p>
454            *
455            * @param userId the primary key of the user
456            * @param groupId the primary key of the group
457            * @param privateLayout whether the layout is private to the group
458            * @param parentLayoutId the primary key of the parent layout (optionally
459            {@link
460            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID}).
461            The possible values can be found in {@link
462            com.liferay.portal.model.LayoutConstants}.
463            * @param name the layout's name (optionally {@link
464            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_NAME}
465            or {@link
466            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_NAME}).
467            The default values can be overridden in
468            <code>portal-ext.properties</code> by specifying new values for
469            the corresponding properties defined in {@link
470            com.liferay.portal.util.PropsValues}
471            * @param title the layout's title
472            * @param description the layout's description
473            * @param type the layout's type (optionally {@link
474            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
475            possible types can be found in {@link
476            com.liferay.portal.model.LayoutConstants}.
477            * @param hidden whether the layout is hidden
478            * @param friendlyURL the friendly URL of the layout (optionally {@link
479            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
480            or {@link
481            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
482            The default values can be overridden in
483            <code>portal-ext.properties</code> by specifying new values for
484            the corresponding properties defined in {@link
485            com.liferay.portal.util.PropsValues}. To see how the URL is
486            normalized when accessed, see {@link
487            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
488            String)}.
489            * @param serviceContext the service context to be applied. Must set the
490            UUID for the layout. Can set the creation date and modification
491            date for the layout. For layouts that belong to a layout set
492            prototype, an attribute named <code>layoutUpdateable</code> can
493            be set to specify whether site administrators can modify this
494            page within their site.
495            * @return the layout
496            * @throws PortalException if a group or user with the primary key could not
497            be found, or if a portal exception occurred
498            * @throws SystemException if a system exception occurred
499            */
500            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
501                    boolean privateLayout, long parentLayoutId, java.lang.String name,
502                    java.lang.String title, java.lang.String description,
503                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
504                    com.liferay.portal.service.ServiceContext serviceContext)
505                    throws com.liferay.portal.kernel.exception.PortalException,
506                            com.liferay.portal.kernel.exception.SystemException;
507    
508            /**
509            * Deletes the layout, its child layouts, and its associated resources.
510            *
511            * @param layout the layout
512            * @param updateLayoutSet whether the layout set's page counter needs to be
513            updated
514            * @param serviceContext the service context to be applied
515            * @throws PortalException if a portal exception occurred
516            * @throws SystemException if a system exception occurred
517            */
518            @com.liferay.portal.kernel.systemevent.SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE)
519            public void deleteLayout(com.liferay.portal.model.Layout layout,
520                    boolean updateLayoutSet,
521                    com.liferay.portal.service.ServiceContext serviceContext)
522                    throws com.liferay.portal.kernel.exception.PortalException,
523                            com.liferay.portal.kernel.exception.SystemException;
524    
525            /**
526            * Deletes the layout with the primary key, also deleting the layout's child
527            * layouts, and associated resources.
528            *
529            * @param groupId the primary key of the group
530            * @param privateLayout whether the layout is private to the group
531            * @param layoutId the primary key of the layout
532            * @param serviceContext the service context to be applied
533            * @throws PortalException if a matching layout could not be found , or if
534            some other portal exception occurred
535            * @throws SystemException if a system exception occurred
536            */
537            public void deleteLayout(long groupId, boolean privateLayout,
538                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
539                    throws com.liferay.portal.kernel.exception.PortalException,
540                            com.liferay.portal.kernel.exception.SystemException;
541    
542            /**
543            * Deletes the layout with the plid, also deleting the layout's child
544            * layouts, and associated resources.
545            *
546            * @param plid the primary key of the layout
547            * @param serviceContext the service context to be applied
548            * @throws PortalException if a layout with the primary key could not be
549            found , or if some other portal exception occurred
550            * @throws SystemException if a system exception occurred
551            */
552            public void deleteLayout(long plid,
553                    com.liferay.portal.service.ServiceContext serviceContext)
554                    throws com.liferay.portal.kernel.exception.PortalException,
555                            com.liferay.portal.kernel.exception.SystemException;
556    
557            /**
558            * Deletes the group's private or non-private layouts, also deleting the
559            * layouts' child layouts, and associated resources.
560            *
561            * @param groupId the primary key of the group
562            * @param privateLayout whether the layout is private to the group
563            * @param serviceContext the service context to be applied. The parent
564            layout set's page count will be updated by default, unless an
565            attribute named <code>updatePageCount</code> is set to
566            <code>false</code>.
567            * @throws PortalException if a group with the primary key could not be
568            found or if a layout set for the group and privacy could not be
569            found
570            * @throws SystemException if a system exception occurred
571            */
572            public void deleteLayouts(long groupId, boolean privateLayout,
573                    com.liferay.portal.service.ServiceContext serviceContext)
574                    throws com.liferay.portal.kernel.exception.PortalException,
575                            com.liferay.portal.kernel.exception.SystemException;
576    
577            /**
578            * Exports layouts with the primary keys and criteria as a byte array.
579            *
580            * @param groupId the primary key of the group
581            * @param privateLayout whether the layout is private to the group
582            * @param layoutIds the primary keys of the layouts to be exported
583            * @param parameterMap the mapping of parameters indicating which
584            information to export. For information on the keys used in the
585            map see {@link
586            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
587            * @param startDate the export's start date
588            * @param endDate the export's end date
589            * @return the layouts as a byte array
590            * @throws PortalException if a group or any layout with the primary key
591            could not be found, or if some other portal exception occurred
592            * @throws SystemException if a system exception occurred
593            */
594            public byte[] exportLayouts(long groupId, boolean privateLayout,
595                    long[] layoutIds,
596                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
597                    java.util.Date startDate, java.util.Date endDate)
598                    throws com.liferay.portal.kernel.exception.PortalException,
599                            com.liferay.portal.kernel.exception.SystemException;
600    
601            /**
602            * Exports all layouts that match the criteria as a byte array.
603            *
604            * @param groupId the primary key of the group
605            * @param privateLayout whether the layout is private to the group
606            * @param parameterMap the mapping of parameters indicating which
607            information to export. For information on the keys used in the
608            map see {@link
609            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
610            * @param startDate the export's start date
611            * @param endDate the export's end date
612            * @return the layout as a byte array
613            * @throws PortalException if a group with the primary key could not be
614            found or if some other portal exception occurred
615            * @throws SystemException if a system exception occurred
616            */
617            public byte[] exportLayouts(long groupId, boolean privateLayout,
618                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
619                    java.util.Date startDate, java.util.Date endDate)
620                    throws com.liferay.portal.kernel.exception.PortalException,
621                            com.liferay.portal.kernel.exception.SystemException;
622    
623            /**
624            * Exports the layouts that match the primary keys and criteria as a file.
625            *
626            * @param groupId the primary key of the group
627            * @param privateLayout whether the layout is private to the group
628            * @param layoutIds the primary keys of the layouts to be exported
629            (optionally <code>null</code>)
630            * @param parameterMap the mapping of parameters indicating which
631            information to export. For information on the keys used in the
632            map see {@link
633            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
634            * @param startDate the export's start date
635            * @param endDate the export's end date
636            * @return the layouts as a File
637            * @throws PortalException if a group or any layout with the primary key
638            could not be found, or if some other portal exception occurred
639            * @throws SystemException if a system exception occurred
640            */
641            public java.io.File exportLayoutsAsFile(long groupId,
642                    boolean privateLayout, long[] layoutIds,
643                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
644                    java.util.Date startDate, java.util.Date endDate)
645                    throws com.liferay.portal.kernel.exception.PortalException,
646                            com.liferay.portal.kernel.exception.SystemException;
647    
648            public long exportLayoutsAsFileInBackground(long userId,
649                    java.lang.String taskName, long groupId, boolean privateLayout,
650                    long[] layoutIds,
651                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
652                    java.util.Date startDate, java.util.Date endDate,
653                    java.lang.String fileName)
654                    throws com.liferay.portal.kernel.exception.PortalException,
655                            com.liferay.portal.kernel.exception.SystemException;
656    
657            /**
658            * Exports the portlet information (categories, permissions, ... etc.) as a
659            * byte array.
660            *
661            * @param plid the primary key of the layout
662            * @param groupId the primary key of the group
663            * @param portletId the primary key of the portlet
664            * @param parameterMap the mapping of parameters indicating which
665            information to export. For information on the keys used in the
666            map see {@link
667            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
668            * @param startDate the export's start date
669            * @param endDate the export's end date
670            * @return the portlet information as a byte array
671            * @throws PortalException if a group or portlet with the primary key could
672            not be found, or if some other portal exception occurred
673            * @throws SystemException if a system exception occurred
674            */
675            public byte[] exportPortletInfo(long plid, long groupId,
676                    java.lang.String portletId,
677                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
678                    java.util.Date startDate, java.util.Date endDate)
679                    throws com.liferay.portal.kernel.exception.PortalException,
680                            com.liferay.portal.kernel.exception.SystemException;
681    
682            public byte[] exportPortletInfo(long companyId, java.lang.String portletId,
683                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
684                    java.util.Date startDate, java.util.Date endDate)
685                    throws com.liferay.portal.kernel.exception.PortalException,
686                            com.liferay.portal.kernel.exception.SystemException;
687    
688            /**
689            * Exports the portlet information (categories, permissions, ... etc.) as a
690            * file.
691            *
692            * @param plid the primary key of the layout
693            * @param groupId the primary key of the group
694            * @param portletId the primary key of the portlet
695            * @param parameterMap the mapping of parameters indicating which
696            information to export. For information on the keys used in the
697            map see {@link
698            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
699            * @param startDate the export's start date
700            * @param endDate the export's end date
701            * @return the portlet information as a file
702            * @throws PortalException if a group or portlet with the primary key could
703            not be found, or if some other portal exception occurred
704            * @throws SystemException if a system exception occurred
705            */
706            public java.io.File exportPortletInfoAsFile(long plid, long groupId,
707                    java.lang.String portletId,
708                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
709                    java.util.Date startDate, java.util.Date endDate)
710                    throws com.liferay.portal.kernel.exception.PortalException,
711                            com.liferay.portal.kernel.exception.SystemException;
712    
713            public java.io.File exportPortletInfoAsFile(long companyId,
714                    java.lang.String portletId,
715                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
716                    java.util.Date startDate, java.util.Date endDate)
717                    throws com.liferay.portal.kernel.exception.PortalException,
718                            com.liferay.portal.kernel.exception.SystemException;
719    
720            public long exportPortletInfoAsFileInBackground(long userId,
721                    java.lang.String taskName, long plid, long groupId,
722                    java.lang.String portletId,
723                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
724                    java.util.Date startDate, java.util.Date endDate,
725                    java.lang.String fileName)
726                    throws com.liferay.portal.kernel.exception.PortalException,
727                            com.liferay.portal.kernel.exception.SystemException;
728    
729            public long exportPortletInfoAsFileInBackground(long userId,
730                    java.lang.String taskName, java.lang.String portletId,
731                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
732                    java.util.Date startDate, java.util.Date endDate,
733                    java.lang.String fileName)
734                    throws com.liferay.portal.kernel.exception.PortalException,
735                            com.liferay.portal.kernel.exception.SystemException;
736    
737            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
738            public com.liferay.portal.model.Layout fetchFirstLayout(long groupId,
739                    boolean privateLayout, long parentLayoutId)
740                    throws com.liferay.portal.kernel.exception.SystemException;
741    
742            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
743            public com.liferay.portal.model.Layout fetchLayout(long groupId,
744                    boolean privateLayout, long layoutId)
745                    throws com.liferay.portal.kernel.exception.SystemException;
746    
747            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
748            public com.liferay.portal.model.Layout fetchLayoutByFriendlyURL(
749                    long groupId, boolean privateLayout, java.lang.String friendlyURL)
750                    throws com.liferay.portal.kernel.exception.SystemException;
751    
752            /**
753            * Returns the primary key of the default layout for the group
754            *
755            * @param groupId the primary key of the group
756            * @return the primary key of the default layout for the group (optionally
757            {@link com.liferay.portal.model.LayoutConstants#DEFAULT_PLID})
758            * @throws SystemException if a system exception occurred
759            */
760            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
761            public long getDefaultPlid(long groupId)
762                    throws com.liferay.portal.kernel.exception.SystemException;
763    
764            /**
765            * Returns primary key of the matching default layout for the group
766            *
767            * @param groupId the primary key of the group
768            * @param privateLayout whether the layout is private to the group
769            * @return the primary key of the default layout for the group; {@link
770            com.liferay.portal.model.LayoutConstants#DEFAULT_PLID}) otherwise
771            * @throws SystemException if a system exception occurred
772            */
773            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
774            public long getDefaultPlid(long groupId, boolean privateLayout)
775                    throws com.liferay.portal.kernel.exception.SystemException;
776    
777            /**
778            * Returns primary key of the default portlet layout for the group
779            *
780            * @param groupId the primary key of the group
781            * @param privateLayout whether the layout is private to the group
782            * @param portletId the primary key of the portlet
783            * @return the primary key of the default portlet layout for the group;
784            {@link com.liferay.portal.model.LayoutConstants#DEFAULT_PLID}
785            otherwise
786            * @throws PortalException if a portlet with the primary key could not be
787            found
788            * @throws SystemException if a system exception occurred
789            */
790            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
791            public long getDefaultPlid(long groupId, boolean privateLayout,
792                    java.lang.String portletId)
793                    throws com.liferay.portal.kernel.exception.PortalException,
794                            com.liferay.portal.kernel.exception.SystemException;
795    
796            /**
797            * Returns the layout for the friendly URL
798            *
799            * @param groupId the primary key of the group
800            * @param privateLayout whether the layout is private to the group
801            * @param friendlyURL the friendly URL of the layout
802            * @return the layout for the friendly URL
803            * @throws PortalException if the friendly URL is <code>null</code> or a
804            matching layout could not be found
805            * @throws SystemException if a system exception occurred
806            */
807            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
808            public com.liferay.portal.model.Layout getFriendlyURLLayout(long groupId,
809                    boolean privateLayout, java.lang.String friendlyURL)
810                    throws com.liferay.portal.kernel.exception.PortalException,
811                            com.liferay.portal.kernel.exception.SystemException;
812    
813            /**
814            * Returns the layout matching the primary key, group, and privacy; throws a
815            * {@link com.liferay.portal.NoSuchLayoutException} otherwise.
816            *
817            * @param groupId the primary key of the group
818            * @param privateLayout whether the layout is private to the group
819            * @param layoutId the primary key of the layout
820            * @return the matching layout
821            * @throws PortalException if a matching layout could not be found
822            * @throws SystemException if a system exception occurred
823            */
824            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
825            public com.liferay.portal.model.Layout getLayout(long groupId,
826                    boolean privateLayout, long layoutId)
827                    throws com.liferay.portal.kernel.exception.PortalException,
828                            com.liferay.portal.kernel.exception.SystemException;
829    
830            /**
831            * Returns the layout for the icon image; throws a {@link
832            * com.liferay.portal.NoSuchLayoutException} otherwise.
833            *
834            * @param iconImageId the primary key of the icon image
835            * @return Returns the layout for the icon image
836            * @throws PortalException if an icon image with the primary key could not
837            be found
838            * @throws SystemException if a system exception occurred
839            */
840            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
841            public com.liferay.portal.model.Layout getLayoutByIconImageId(
842                    long iconImageId)
843                    throws com.liferay.portal.kernel.exception.PortalException,
844                            com.liferay.portal.kernel.exception.SystemException;
845    
846            /**
847            * Returns all the layouts belonging to the group.
848            *
849            * @param groupId the primary key of the group
850            * @param privateLayout whether the layout is private to the group
851            * @return the matching layouts, or <code>null</code> if no matches were
852            found
853            * @throws SystemException if a system exception occurred
854            */
855            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
856            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
857                    long groupId, boolean privateLayout)
858                    throws com.liferay.portal.kernel.exception.SystemException;
859    
860            /**
861            * Returns all the layouts belonging to the group that are children of the
862            * parent layout.
863            *
864            * @param groupId the primary key of the group
865            * @param privateLayout whether the layout is private to the group
866            * @param parentLayoutId the primary key of the parent layout
867            * @return the matching layouts, or <code>null</code> if no matches were
868            found
869            * @throws SystemException if a system exception occurred
870            */
871            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
872            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
873                    long groupId, boolean privateLayout, long parentLayoutId)
874                    throws com.liferay.portal.kernel.exception.SystemException;
875    
876            /**
877            * Returns a range of all the layouts belonging to the group that are
878            * children of the parent layout.
879            *
880            * <p>
881            * Useful when paginating results. Returns a maximum of <code>end -
882            * start</code> instances. <code>start</code> and <code>end</code> are not
883            * primary keys, they are indexes in the result set. Thus, <code>0</code>
884            * refers to the first result in the set. Setting both <code>start</code>
885            * and <code>end</code> to {@link
886            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
887            * result set.
888            * </p>
889            *
890            * @param groupId the primary key of the group
891            * @param privateLayout whether the layout is private to the group
892            * @param parentLayoutId the primary key of the parent layout
893            * @param incomplete whether the layout is incomplete
894            * @param start the lower bound of the range of layouts
895            * @param end the upper bound of the range of layouts (not inclusive)
896            * @return the matching layouts, or <code>null</code> if no matches were
897            found
898            * @throws SystemException if a system exception occurred
899            */
900            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
901            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
902                    long groupId, boolean privateLayout, long parentLayoutId,
903                    boolean incomplete, int start, int end)
904                    throws com.liferay.portal.kernel.exception.SystemException;
905    
906            /**
907            * Returns all the layouts that match the layout IDs and belong to the
908            * group.
909            *
910            * @param groupId the primary key of the group
911            * @param privateLayout whether the layout is private to the group
912            * @param layoutIds the primary keys of the layouts
913            * @return the matching layouts, or an empty list if no matches were found
914            * @throws PortalException if a group or layout with the primary key could
915            not be found
916            * @throws SystemException if a system exception occurred
917            */
918            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
919            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
920                    long groupId, boolean privateLayout, long[] layoutIds)
921                    throws com.liferay.portal.kernel.exception.PortalException,
922                            com.liferay.portal.kernel.exception.SystemException;
923    
924            /**
925            * Returns all the layouts that match the type and belong to the group.
926            *
927            * @param groupId the primary key of the group
928            * @param privateLayout whether the layout is private to the group
929            * @param type the type of the layouts (optionally {@link
930            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
931            * @return the matching layouts, or <code>null</code> if no matches were
932            found
933            * @throws SystemException if a system exception occurred
934            */
935            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
936            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
937                    long groupId, boolean privateLayout, java.lang.String type)
938                    throws com.liferay.portal.kernel.exception.SystemException;
939    
940            /**
941            * Returns the layout references for all the layouts that belong to the
942            * company and belong to the portlet that matches the preferences.
943            *
944            * @param companyId the primary key of the company
945            * @param portletId the primary key of the portlet
946            * @param preferencesKey the portlet's preference key
947            * @param preferencesValue the portlet's preference value
948            * @return the layout references of the matching layouts
949            * @throws SystemException if a system exception occurred
950            */
951            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
952            public com.liferay.portal.model.LayoutReference[] getLayouts(
953                    long companyId, java.lang.String portletId,
954                    java.lang.String preferencesKey, java.lang.String preferencesValue)
955                    throws com.liferay.portal.kernel.exception.SystemException;
956    
957            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
958            public java.util.List<com.liferay.portal.model.Layout> getLayoutsByLayoutPrototypeUuid(
959                    java.lang.String layoutPrototypeUuid)
960                    throws com.liferay.portal.kernel.exception.SystemException;
961    
962            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
963            public int getLayoutsByLayoutPrototypeUuidCount(
964                    java.lang.String layoutPrototypeUuid)
965                    throws com.liferay.portal.kernel.exception.SystemException;
966    
967            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
968            public int getLayoutsCount(com.liferay.portal.model.Group group,
969                    boolean privateLayout)
970                    throws com.liferay.portal.kernel.exception.PortalException,
971                            com.liferay.portal.kernel.exception.SystemException;
972    
973            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
974            public int getLayoutsCount(com.liferay.portal.model.Group group,
975                    boolean privateLayout, boolean includeUserGroups)
976                    throws com.liferay.portal.kernel.exception.PortalException,
977                            com.liferay.portal.kernel.exception.SystemException;
978    
979            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
980            public int getLayoutsCount(com.liferay.portal.model.User user,
981                    boolean privateLayout)
982                    throws com.liferay.portal.kernel.exception.PortalException,
983                            com.liferay.portal.kernel.exception.SystemException;
984    
985            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
986            public int getLayoutsCount(com.liferay.portal.model.User user,
987                    boolean privateLayout, boolean includeUserGroups)
988                    throws com.liferay.portal.kernel.exception.PortalException,
989                            com.liferay.portal.kernel.exception.SystemException;
990    
991            /**
992            * Returns the primary key to use for the next layout.
993            *
994            * @param groupId the primary key of the group
995            * @param privateLayout whether the layout is private to the group
996            * @return the primary key to use for the next layout
997            * @throws SystemException if a system exception occurred
998            */
999            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1000            public long getNextLayoutId(long groupId, boolean privateLayout)
1001                    throws com.liferay.portal.kernel.exception.SystemException;
1002    
1003            /**
1004            * Returns all the layouts without resource permissions
1005            *
1006            * @param roleId the primary key of the role
1007            * @return all the layouts without resource permissions
1008            * @throws SystemException if a system exception occurred
1009            */
1010            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1011            public java.util.List<com.liferay.portal.model.Layout> getNoPermissionLayouts(
1012                    long roleId) throws com.liferay.portal.kernel.exception.SystemException;
1013    
1014            /**
1015            * Returns all the layouts whose friendly URLs are <code>null</code>
1016            *
1017            * @return all the layouts whose friendly URLs are <code>null</code>
1018            * @throws SystemException if a system exception occurred
1019            */
1020            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1021            public java.util.List<com.liferay.portal.model.Layout> getNullFriendlyURLLayouts()
1022                    throws com.liferay.portal.kernel.exception.SystemException;
1023    
1024            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1025            public com.liferay.portal.model.Layout getParentLayout(
1026                    com.liferay.portal.model.Layout layout)
1027                    throws com.liferay.portal.kernel.exception.PortalException,
1028                            com.liferay.portal.kernel.exception.SystemException;
1029    
1030            /**
1031            * Returns all the layouts within scope of the group
1032            *
1033            * @param groupId the primary key of the group
1034            * @param privateLayout whether the layout is private to the group
1035            * @return the layouts within scope of the group
1036            * @throws SystemException if a system exception occurred
1037            */
1038            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1039            public java.util.List<com.liferay.portal.model.Layout> getScopeGroupLayouts(
1040                    long groupId, boolean privateLayout)
1041                    throws com.liferay.portal.kernel.exception.SystemException;
1042    
1043            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1044            public boolean hasLayouts(com.liferay.portal.model.Group group,
1045                    boolean privateLayout)
1046                    throws com.liferay.portal.kernel.exception.PortalException,
1047                            com.liferay.portal.kernel.exception.SystemException;
1048    
1049            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1050            public boolean hasLayouts(com.liferay.portal.model.Group group,
1051                    boolean privateLayout, boolean includeUserGroups)
1052                    throws com.liferay.portal.kernel.exception.PortalException,
1053                            com.liferay.portal.kernel.exception.SystemException;
1054    
1055            /**
1056            * Returns <code>true</code> if the group has any layouts;
1057            * <code>false</code> otherwise.
1058            *
1059            * @param groupId the primary key of the group
1060            * @param privateLayout whether the layout is private to the group
1061            * @param parentLayoutId the primary key of the parent layout
1062            * @return <code>true</code> if the group has any layouts;
1063            <code>false</code> otherwise
1064            * @throws SystemException if a system exception occurred
1065            */
1066            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1067            public boolean hasLayouts(long groupId, boolean privateLayout,
1068                    long parentLayoutId)
1069                    throws com.liferay.portal.kernel.exception.SystemException;
1070    
1071            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1072            public boolean hasLayouts(com.liferay.portal.model.User user,
1073                    boolean privateLayout)
1074                    throws com.liferay.portal.kernel.exception.PortalException,
1075                            com.liferay.portal.kernel.exception.SystemException;
1076    
1077            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1078            public boolean hasLayouts(com.liferay.portal.model.User user,
1079                    boolean privateLayout, boolean includeUserGroups)
1080                    throws com.liferay.portal.kernel.exception.PortalException,
1081                            com.liferay.portal.kernel.exception.SystemException;
1082    
1083            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1084            public boolean hasLayoutSetPrototypeLayout(long layoutSetPrototypeId,
1085                    java.lang.String layoutUuid)
1086                    throws com.liferay.portal.kernel.exception.PortalException,
1087                            com.liferay.portal.kernel.exception.SystemException;
1088    
1089            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1090            public boolean hasLayoutSetPrototypeLayout(
1091                    java.lang.String layoutSetPrototypeUuid, long companyId,
1092                    java.lang.String layoutUuid)
1093                    throws com.liferay.portal.kernel.exception.PortalException,
1094                            com.liferay.portal.kernel.exception.SystemException;
1095    
1096            /**
1097            * Imports the layouts from the byte array.
1098            *
1099            * @param userId the primary key of the user
1100            * @param groupId the primary key of the group
1101            * @param privateLayout whether the layout is private to the group
1102            * @param parameterMap the mapping of parameters indicating which
1103            information will be imported. For information on the keys used in
1104            the map see {@link
1105            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
1106            * @param bytes the byte array with the data
1107            * @throws PortalException if a group or user with the primary key could not
1108            be found, or if some other portal exception occurred
1109            * @throws SystemException if a system exception occurred
1110            * @see com.liferay.portal.lar.LayoutImporter
1111            */
1112            public void importLayouts(long userId, long groupId, boolean privateLayout,
1113                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1114                    byte[] bytes)
1115                    throws com.liferay.portal.kernel.exception.PortalException,
1116                            com.liferay.portal.kernel.exception.SystemException;
1117    
1118            /**
1119            * Imports the layouts from the file.
1120            *
1121            * @param userId the primary key of the user
1122            * @param groupId the primary key of the group
1123            * @param privateLayout whether the layout is private to the group
1124            * @param parameterMap the mapping of parameters indicating which
1125            information will be imported. For information on the keys used in
1126            the map see {@link
1127            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
1128            * @param file the LAR file with the data
1129            * @throws PortalException if a group or user with the primary key could not
1130            be found, or if some other portal exception occurred
1131            * @throws SystemException if a system exception occurred
1132            * @see com.liferay.portal.lar.LayoutImporter
1133            */
1134            public void importLayouts(long userId, long groupId, boolean privateLayout,
1135                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1136                    java.io.File file)
1137                    throws com.liferay.portal.kernel.exception.PortalException,
1138                            com.liferay.portal.kernel.exception.SystemException;
1139    
1140            /**
1141            * Imports the layouts from the input stream.
1142            *
1143            * @param userId the primary key of the user
1144            * @param groupId the primary key of the group
1145            * @param privateLayout whether the layout is private to the group
1146            * @param parameterMap the mapping of parameters indicating which
1147            information will be imported. For information on the keys used in
1148            the map see {@link
1149            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
1150            * @param is the input stream
1151            * @throws PortalException if a group or user with the primary key could not
1152            be found, or if some other portal exception occurred
1153            * @throws SystemException if a system exception occurred
1154            * @see com.liferay.portal.lar.LayoutImporter
1155            */
1156            public void importLayouts(long userId, long groupId, boolean privateLayout,
1157                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1158                    java.io.InputStream is)
1159                    throws com.liferay.portal.kernel.exception.PortalException,
1160                            com.liferay.portal.kernel.exception.SystemException;
1161    
1162            public long importLayoutsInBackground(long userId,
1163                    java.lang.String taskName, long groupId, boolean privateLayout,
1164                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1165                    java.io.File file)
1166                    throws com.liferay.portal.kernel.exception.PortalException,
1167                            com.liferay.portal.kernel.exception.SystemException;
1168    
1169            public long importLayoutsInBackground(long userId,
1170                    java.lang.String taskName, long groupId, boolean privateLayout,
1171                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1172                    java.io.InputStream is)
1173                    throws com.liferay.portal.kernel.exception.PortalException,
1174                            com.liferay.portal.kernel.exception.SystemException;
1175    
1176            /**
1177            * Imports the portlet information (categories, permissions, ... etc.) from
1178            * the file.
1179            *
1180            * @param userId the primary key of the user
1181            * @param plid the primary key of the target layout
1182            * @param groupId the primary key of the target group
1183            * @param portletId the primary key of the portlet
1184            * @param parameterMap the mapping of parameters indicating which
1185            information will be imported. For information on the keys used in
1186            the map see {@link
1187            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
1188            * @param file the LAR file with the data
1189            * @throws PortalException if a group, layout, portlet or user with the
1190            primary key could not be found
1191            * @throws SystemException if a system exception occurred
1192            */
1193            public void importPortletInfo(long userId, long plid, long groupId,
1194                    java.lang.String portletId,
1195                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1196                    java.io.File file)
1197                    throws com.liferay.portal.kernel.exception.PortalException,
1198                            com.liferay.portal.kernel.exception.SystemException;
1199    
1200            /**
1201            * Imports the portlet information (categories, permissions, ... etc.) from
1202            * the input stream.
1203            *
1204            * @param userId the primary key of the user
1205            * @param plid the primary key of the layout
1206            * @param groupId the primary key of the group
1207            * @param portletId the primary key of the portlet
1208            * @param parameterMap the mapping of parameters indicating which
1209            information will be imported. For information on the keys used in
1210            the map see {@link
1211            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
1212            * @param is the input stream
1213            * @throws PortalException if a group, portlet, layout or user with the
1214            primary key could not be found
1215            * @throws SystemException if a system exception occurred
1216            */
1217            public void importPortletInfo(long userId, long plid, long groupId,
1218                    java.lang.String portletId,
1219                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1220                    java.io.InputStream is)
1221                    throws com.liferay.portal.kernel.exception.PortalException,
1222                            com.liferay.portal.kernel.exception.SystemException;
1223    
1224            public void importPortletInfo(long userId, java.lang.String portletId,
1225                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1226                    java.io.File file)
1227                    throws com.liferay.portal.kernel.exception.PortalException,
1228                            com.liferay.portal.kernel.exception.SystemException;
1229    
1230            public void importPortletInfo(long userId, java.lang.String portletId,
1231                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1232                    java.io.InputStream is)
1233                    throws com.liferay.portal.kernel.exception.PortalException,
1234                            com.liferay.portal.kernel.exception.SystemException;
1235    
1236            public long importPortletInfoInBackground(long userId,
1237                    java.lang.String taskName, long plid, long groupId,
1238                    java.lang.String portletId,
1239                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1240                    java.io.File file)
1241                    throws com.liferay.portal.kernel.exception.PortalException,
1242                            com.liferay.portal.kernel.exception.SystemException;
1243    
1244            public long importPortletInfoInBackground(long userId,
1245                    java.lang.String taskName, long plid, long groupId,
1246                    java.lang.String portletId,
1247                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1248                    java.io.InputStream is)
1249                    throws com.liferay.portal.kernel.exception.PortalException,
1250                            com.liferay.portal.kernel.exception.SystemException;
1251    
1252            public long importPortletInfoInBackground(long userId,
1253                    java.lang.String taskName, java.lang.String portletId,
1254                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1255                    java.io.File file)
1256                    throws com.liferay.portal.kernel.exception.PortalException,
1257                            com.liferay.portal.kernel.exception.SystemException;
1258    
1259            public long importPortletInfoInBackground(long userId,
1260                    java.lang.String taskName, java.lang.String portletId,
1261                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1262                    java.io.InputStream is)
1263                    throws com.liferay.portal.kernel.exception.PortalException,
1264                            com.liferay.portal.kernel.exception.SystemException;
1265    
1266            /**
1267            * Sets the layouts for the group, replacing and prioritizing all layouts of
1268            * the parent layout.
1269            *
1270            * @param groupId the primary key of the group
1271            * @param privateLayout whether the layout is private to the group
1272            * @param parentLayoutId the primary key of the parent layout
1273            * @param layoutIds the primary keys of the layouts
1274            * @param serviceContext the service context to be applied
1275            * @throws PortalException if a group or layout with the primary key could
1276            not be found, if no layouts were specified, if the first layout
1277            was not page-able, if the first layout was hidden, or if some
1278            other portal exception occurred
1279            * @throws SystemException if a system exception occurred
1280            */
1281            public void setLayouts(long groupId, boolean privateLayout,
1282                    long parentLayoutId, long[] layoutIds,
1283                    com.liferay.portal.service.ServiceContext serviceContext)
1284                    throws com.liferay.portal.kernel.exception.PortalException,
1285                            com.liferay.portal.kernel.exception.SystemException;
1286    
1287            /**
1288            * Updates the friendly URL of the layout.
1289            *
1290            * @param plid the primary key of the layout
1291            * @param friendlyURL the friendly URL to be assigned
1292            * @param languageId the primary key of the language
1293            * @return the updated layout
1294            * @throws PortalException if a group or layout with the primary key could
1295            not be found
1296            * @throws SystemException if a system exception occurred
1297            */
1298            public com.liferay.portal.model.Layout updateFriendlyURL(long plid,
1299                    java.lang.String friendlyURL, java.lang.String languageId)
1300                    throws com.liferay.portal.kernel.exception.PortalException,
1301                            com.liferay.portal.kernel.exception.SystemException;
1302    
1303            /**
1304            * Updates the layout.
1305            *
1306            * @param groupId the primary key of the group
1307            * @param privateLayout whether the layout is private to the group
1308            * @param layoutId the primary key of the layout
1309            * @param parentLayoutId the primary key of the layout's new parent layout
1310            * @param nameMap the locales and localized names to merge (optionally
1311            <code>null</code>)
1312            * @param titleMap the locales and localized titles to merge (optionally
1313            <code>null</code>)
1314            * @param descriptionMap the locales and localized descriptions to merge
1315            (optionally <code>null</code>)
1316            * @param keywordsMap the locales and localized keywords to merge
1317            (optionally <code>null</code>)
1318            * @param robotsMap the locales and localized robots to merge (optionally
1319            <code>null</code>)
1320            * @param type the layout's new type (optionally {@link
1321            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
1322            * @param hidden whether the layout is hidden
1323            * @param friendlyURLMap the layout's locales and localized friendly URLs.
1324            To see how the URL is normalized when accessed, see {@link
1325            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
1326            String)}.
1327            * @param iconImage whether the icon image will be updated
1328            * @param iconBytes the byte array of the layout's new icon image
1329            * @param serviceContext the service context to be applied. Can set the
1330            modification date and expando bridge attributes for the layout.
1331            For layouts that are linked to a layout prototype, attributes
1332            named <code>layoutPrototypeUuid</code> and
1333            <code>layoutPrototypeLinkedEnabled</code> can be specified to
1334            provide the unique identifier of the source prototype and a
1335            boolean to determine whether a link to it should be enabled to
1336            activate propagation of changes made to the linked page in the
1337            prototype.
1338            * @return the updated layout
1339            * @throws PortalException if a group or layout with the primary key could
1340            not be found, if a unique friendly URL could not be generated, if
1341            a valid parent layout ID to use could not be found, if the layout
1342            parameters were invalid, or if a portal exception occurred
1343            * @throws SystemException if a system exception occurred
1344            */
1345            public com.liferay.portal.model.Layout updateLayout(long groupId,
1346                    boolean privateLayout, long layoutId, long parentLayoutId,
1347                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1348                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1349                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1350                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
1351                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
1352                    java.lang.String type, boolean hidden,
1353                    java.util.Map<java.util.Locale, java.lang.String> friendlyURLMap,
1354                    java.lang.Boolean iconImage, byte[] iconBytes,
1355                    com.liferay.portal.service.ServiceContext serviceContext)
1356                    throws com.liferay.portal.kernel.exception.PortalException,
1357                            com.liferay.portal.kernel.exception.SystemException;
1358    
1359            /**
1360            * Updates the layout.
1361            *
1362            * @param groupId the primary key of the group
1363            * @param privateLayout whether the layout is private to the group
1364            * @param layoutId the primary key of the layout
1365            * @param parentLayoutId the primary key of the layout's new parent
1366            layout
1367            * @param nameMap the locales and localized names to merge (optionally
1368            <code>null</code>)
1369            * @param titleMap the locales and localized titles to merge
1370            (optionally <code>null</code>)
1371            * @param descriptionMap the locales and localized descriptions to
1372            merge (optionally <code>null</code>)
1373            * @param keywordsMap the locales and localized keywords to merge
1374            (optionally <code>null</code>)
1375            * @param robotsMap the locales and localized robots to merge
1376            (optionally <code>null</code>)
1377            * @param type the layout's new type (optionally {@link
1378            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
1379            * @param hidden whether the layout is hidden
1380            * @param friendlyURL the layout's new friendly URL (optionally {@link
1381            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
1382            or {@link
1383            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}).
1384            The default values can be overridden in
1385            <code>portal-ext.properties</code> by specifying new values
1386            for the corresponding properties defined in {@link
1387            com.liferay.portal.util.PropsValues}. To see how the URL is
1388            normalized when accessed, see {@link
1389            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
1390            String)}.
1391            * @param iconImage whether the icon image will be updated
1392            * @param iconBytes the byte array of the layout's new icon image
1393            * @param serviceContext the service context to be applied. Can set the
1394            modification date and expando bridge attributes for the
1395            layout. For layouts that are linked to a layout prototype,
1396            attributes named <code>layoutPrototypeUuid</code> and
1397            <code>layoutPrototypeLinkedEnabled</code> can be specified to
1398            provide the unique identifier of the source prototype and a
1399            boolean to determine whether a link to it should be enabled
1400            to activate propagation of changes made to the linked page in
1401            the prototype.
1402            * @return the updated layout
1403            * @throws PortalException if a group or layout with the primary key
1404            could not be found, if a unique friendly URL could not be
1405            generated, if a valid parent layout ID to use could not be
1406            found, if the layout parameters were invalid, or if a portal
1407            exception occurred
1408            * @throws SystemException if a system exception occurred
1409            * @deprecated As of 6.2.0, replaced by {@link #updateLayout(long, boolean,
1410            long, long, Map, Map, Map, Map, Map, String, boolean, Map,
1411            Boolean, byte[], ServiceContext)}
1412            */
1413            public com.liferay.portal.model.Layout updateLayout(long groupId,
1414                    boolean privateLayout, long layoutId, long parentLayoutId,
1415                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1416                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1417                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1418                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
1419                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
1420                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
1421                    java.lang.Boolean iconImage, byte[] iconBytes,
1422                    com.liferay.portal.service.ServiceContext serviceContext)
1423                    throws com.liferay.portal.kernel.exception.PortalException,
1424                            com.liferay.portal.kernel.exception.SystemException;
1425    
1426            /**
1427            * Updates the layout replacing its type settings.
1428            *
1429            * @param groupId the primary key of the group
1430            * @param privateLayout whether the layout is private to the group
1431            * @param layoutId the primary key of the layout
1432            * @param typeSettings the settings to load the unicode properties object.
1433            See {@link com.liferay.portal.kernel.util.UnicodeProperties
1434            #fastLoad(String)}.
1435            * @return the updated layout
1436            * @throws PortalException if a matching layout could not be found or if a
1437            portal exception occurred
1438            * @throws SystemException if a system exception occurred
1439            */
1440            public com.liferay.portal.model.Layout updateLayout(long groupId,
1441                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
1442                    throws com.liferay.portal.kernel.exception.PortalException,
1443                            com.liferay.portal.kernel.exception.SystemException;
1444    
1445            /**
1446            * Updates the look and feel of the layout.
1447            *
1448            * @param groupId the primary key of the group
1449            * @param privateLayout whether the layout is private to the group
1450            * @param layoutId the primary key of the layout
1451            * @param themeId the primary key of the layout's new theme
1452            * @param colorSchemeId the primary key of the layout's new color scheme
1453            * @param css the layout's new CSS
1454            * @param wapTheme whether the theme is for WAP browsers
1455            * @return the updated layout
1456            * @throws PortalException if a matching layout could not be found
1457            * @throws SystemException if a system exception occurred
1458            */
1459            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
1460                    boolean privateLayout, long layoutId, java.lang.String themeId,
1461                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1462                    throws com.liferay.portal.kernel.exception.PortalException,
1463                            com.liferay.portal.kernel.exception.SystemException;
1464    
1465            /**
1466            * Updates the name of the layout.
1467            *
1468            * @param layout the layout to be updated
1469            * @param name the layout's new name
1470            * @param languageId the primary key of the language. For more information
1471            see {@link java.util.Locale}.
1472            * @return the updated layout
1473            * @throws PortalException if the new name was <code>null</code>
1474            * @throws SystemException if a system exception occurred
1475            */
1476            public com.liferay.portal.model.Layout updateName(
1477                    com.liferay.portal.model.Layout layout, java.lang.String name,
1478                    java.lang.String languageId)
1479                    throws com.liferay.portal.kernel.exception.PortalException,
1480                            com.liferay.portal.kernel.exception.SystemException;
1481    
1482            /**
1483            * Updates the name of the layout matching the group, layout ID, and
1484            * privacy.
1485            *
1486            * @param groupId the primary key of the group
1487            * @param privateLayout whether the layout is private to the group
1488            * @param layoutId the primary key of the layout
1489            * @param name the layout's new name
1490            * @param languageId the primary key of the language. For more information
1491            see {@link java.util.Locale}.
1492            * @return the updated layout
1493            * @throws PortalException if a matching layout could not be found or if the
1494            new name was <code>null</code>
1495            * @throws SystemException if a system exception occurred
1496            */
1497            public com.liferay.portal.model.Layout updateName(long groupId,
1498                    boolean privateLayout, long layoutId, java.lang.String name,
1499                    java.lang.String languageId)
1500                    throws com.liferay.portal.kernel.exception.PortalException,
1501                            com.liferay.portal.kernel.exception.SystemException;
1502    
1503            /**
1504            * Updates the name of the layout matching the primary key.
1505            *
1506            * @param plid the primary key of the layout
1507            * @param name the name to be assigned
1508            * @param languageId the primary key of the language. For more information
1509            see {@link java.util.Locale}.
1510            * @return the updated layout
1511            * @throws PortalException if a layout with the primary key could not be
1512            found or if the name was <code>null</code>
1513            * @throws SystemException if a system exception occurred
1514            */
1515            public com.liferay.portal.model.Layout updateName(long plid,
1516                    java.lang.String name, java.lang.String languageId)
1517                    throws com.liferay.portal.kernel.exception.PortalException,
1518                            com.liferay.portal.kernel.exception.SystemException;
1519    
1520            /**
1521            * Updates the parent layout ID of the layout matching the group, layout ID,
1522            * and privacy.
1523            *
1524            * @param groupId the primary key of the group
1525            * @param privateLayout whether the layout is private to the group
1526            * @param layoutId the primary key of the layout
1527            * @param parentLayoutId the primary key to be assigned to the parent
1528            layout
1529            * @return the matching layout
1530            * @throws PortalException if a valid parent layout ID to use could not be
1531            found or if a matching layout could not be found
1532            * @throws SystemException if a system exception occurred
1533            */
1534            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
1535                    boolean privateLayout, long layoutId, long parentLayoutId)
1536                    throws com.liferay.portal.kernel.exception.PortalException,
1537                            com.liferay.portal.kernel.exception.SystemException;
1538    
1539            /**
1540            * Updates the parent layout ID of the layout matching the primary key. If a
1541            * layout matching the parent primary key is found, the layout ID of that
1542            * layout is assigned, otherwise {@link
1543            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
1544            * assigned.
1545            *
1546            * @param plid the primary key of the layout
1547            * @param parentPlid the primary key of the parent layout
1548            * @return the layout matching the primary key
1549            * @throws PortalException if a layout with the primary key could not be
1550            found or if a valid parent layout ID to use could not be found
1551            * @throws SystemException if a system exception occurred
1552            */
1553            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
1554                    long parentPlid)
1555                    throws com.liferay.portal.kernel.exception.PortalException,
1556                            com.liferay.portal.kernel.exception.SystemException;
1557    
1558            public com.liferay.portal.model.Layout updateParentLayoutIdAndPriority(
1559                    long plid, long parentPlid, int priority)
1560                    throws com.liferay.portal.kernel.exception.PortalException,
1561                            com.liferay.portal.kernel.exception.SystemException;
1562    
1563            /**
1564            * Updates the priorities of the layouts.
1565            *
1566            * @param groupId the primary key of the group
1567            * @param privateLayout whether the layout is private to the group
1568            * @throws PortalException if a matching layout could not be found
1569            * @throws SystemException if a system exception occurred
1570            */
1571            public void updatePriorities(long groupId, boolean privateLayout)
1572                    throws com.liferay.portal.kernel.exception.PortalException,
1573                            com.liferay.portal.kernel.exception.SystemException;
1574    
1575            /**
1576            * Updates the priority of the layout.
1577            *
1578            * @param layout the layout to be updated
1579            * @param priority the layout's new priority
1580            * @return the updated layout
1581            * @throws PortalException if a portal exception occurred
1582            * @throws SystemException if a system exception occurred
1583            */
1584            public com.liferay.portal.model.Layout updatePriority(
1585                    com.liferay.portal.model.Layout layout, int priority)
1586                    throws com.liferay.portal.kernel.exception.PortalException,
1587                            com.liferay.portal.kernel.exception.SystemException;
1588    
1589            /**
1590            * Updates the priority of the layout matching the group, layout ID, and
1591            * privacy.
1592            *
1593            * @param groupId the primary key of the group
1594            * @param privateLayout whether the layout is private to the group
1595            * @param layoutId the primary key of the layout
1596            * @param priority the layout's new priority
1597            * @return the updated layout
1598            * @throws PortalException if a matching layout could not be found
1599            * @throws SystemException if a system exception occurred
1600            */
1601            public com.liferay.portal.model.Layout updatePriority(long groupId,
1602                    boolean privateLayout, long layoutId, int priority)
1603                    throws com.liferay.portal.kernel.exception.PortalException,
1604                            com.liferay.portal.kernel.exception.SystemException;
1605    
1606            /**
1607            * Updates the priority of the layout matching the group, layout ID, and
1608            * privacy, setting the layout's priority based on the priorities of the
1609            * next and previous layouts.
1610            *
1611            * @param groupId the primary key of the group
1612            * @param privateLayout whether the layout is private to the group
1613            * @param layoutId the primary key of the layout
1614            * @param nextLayoutId the primary key of the next layout
1615            * @param previousLayoutId the primary key of the previous layout
1616            * @return the updated layout
1617            * @throws PortalException if a matching layout could not be found
1618            * @throws SystemException if a system exception occurred
1619            */
1620            public com.liferay.portal.model.Layout updatePriority(long groupId,
1621                    boolean privateLayout, long layoutId, long nextLayoutId,
1622                    long previousLayoutId)
1623                    throws com.liferay.portal.kernel.exception.PortalException,
1624                            com.liferay.portal.kernel.exception.SystemException;
1625    
1626            /**
1627            * Updates the priority of the layout matching the primary key.
1628            *
1629            * @param plid the primary key of the layout
1630            * @param priority the layout's new priority
1631            * @return the updated layout
1632            * @throws PortalException if a layout with the primary key could not be
1633            found
1634            * @throws SystemException if a system exception occurred
1635            */
1636            public com.liferay.portal.model.Layout updatePriority(long plid,
1637                    int priority)
1638                    throws com.liferay.portal.kernel.exception.PortalException,
1639                            com.liferay.portal.kernel.exception.SystemException;
1640    
1641            /**
1642            * @deprecated As of 6.2.0, with no direct replacement
1643            */
1644            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1645                    long layoutId,
1646                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1647                    java.util.List<java.util.Locale> nameMapModifiedLocales)
1648                    throws com.liferay.portal.kernel.exception.PortalException,
1649                            com.liferay.portal.kernel.exception.SystemException;
1650    
1651            /**
1652            * Updates the names of the portlets within scope of the group, the scope of
1653            * the layout's UUID, and the privacy.
1654            *
1655            * @param groupId the primary key of the group
1656            * @param privateLayout whether the layout is private to the group
1657            * @param layoutId the primary key of the layout whose UUID to match
1658            * @param name the new name for the portlets
1659            * @param languageId the primary key of the language
1660            * @throws PortalException if a matching layout could not be found
1661            * @throws SystemException if a system exception occurred
1662            * @see com.liferay.portlet.portletconfiguration.action.EditScopeAction
1663            * @deprecated As of 6.2.0, with no direct replacement
1664            */
1665            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1666                    long layoutId, java.lang.String name, java.lang.String languageId)
1667                    throws com.liferay.portal.kernel.exception.PortalException,
1668                            com.liferay.portal.kernel.exception.SystemException;
1669    
1670            public com.liferay.portal.kernel.lar.MissingReferences validateImportLayoutsFile(
1671                    long userId, long groupId, boolean privateLayout,
1672                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1673                    java.io.File file)
1674                    throws com.liferay.portal.kernel.exception.PortalException,
1675                            com.liferay.portal.kernel.exception.SystemException;
1676    
1677            public com.liferay.portal.kernel.lar.MissingReferences validateImportLayoutsFile(
1678                    long userId, long groupId, boolean privateLayout,
1679                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1680                    java.io.InputStream inputStream)
1681                    throws com.liferay.portal.kernel.exception.PortalException,
1682                            com.liferay.portal.kernel.exception.SystemException;
1683    
1684            public com.liferay.portal.kernel.lar.MissingReferences validateImportPortletInfo(
1685                    long userId, long plid, long groupId, java.lang.String portletId,
1686                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1687                    java.io.File file)
1688                    throws com.liferay.portal.kernel.exception.PortalException,
1689                            com.liferay.portal.kernel.exception.SystemException;
1690    
1691            public com.liferay.portal.kernel.lar.MissingReferences validateImportPortletInfo(
1692                    long userId, long plid, long groupId, java.lang.String portletId,
1693                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1694                    java.io.InputStream inputStream)
1695                    throws com.liferay.portal.kernel.exception.PortalException,
1696                            com.liferay.portal.kernel.exception.SystemException;
1697    }