001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portal.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    
023    /**
024     * The interface for the layout local service.
025     *
026     * <p>
027     * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
028     * </p>
029     *
030     * @author Brian Wing Shun Chan
031     * @see LayoutLocalServiceUtil
032     * @see com.liferay.portal.service.base.LayoutLocalServiceBaseImpl
033     * @see com.liferay.portal.service.impl.LayoutLocalServiceImpl
034     * @generated
035     */
036    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
037            PortalException.class, SystemException.class})
038    public interface LayoutLocalService extends PersistedModelLocalService {
039            /*
040             * NOTE FOR DEVELOPERS:
041             *
042             * 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.
043             */
044    
045            /**
046            * Adds the layout to the database. Also notifies the appropriate model listeners.
047            *
048            * @param layout the layout
049            * @return the layout that was added
050            * @throws SystemException if a system exception occurred
051            */
052            public com.liferay.portal.model.Layout addLayout(
053                    com.liferay.portal.model.Layout layout)
054                    throws com.liferay.portal.kernel.exception.SystemException;
055    
056            /**
057            * Creates a new layout with the primary key. Does not add the layout to the database.
058            *
059            * @param plid the primary key for the new layout
060            * @return the new layout
061            */
062            public com.liferay.portal.model.Layout createLayout(long plid);
063    
064            /**
065            * Deletes the layout with the primary key from the database. Also notifies the appropriate model listeners.
066            *
067            * @param plid the primary key of the layout
068            * @throws PortalException if a layout with the primary key could not be found
069            * @throws SystemException if a system exception occurred
070            */
071            public void deleteLayout(long plid)
072                    throws com.liferay.portal.kernel.exception.PortalException,
073                            com.liferay.portal.kernel.exception.SystemException;
074    
075            /**
076            * Deletes the layout from the database. Also notifies the appropriate model listeners.
077            *
078            * @param layout the layout
079            * @throws SystemException if a system exception occurred
080            */
081            public void deleteLayout(com.liferay.portal.model.Layout layout)
082                    throws com.liferay.portal.kernel.exception.SystemException;
083    
084            /**
085            * Performs a dynamic query on the database and returns the matching rows.
086            *
087            * @param dynamicQuery the dynamic query
088            * @return the matching rows
089            * @throws SystemException if a system exception occurred
090            */
091            @SuppressWarnings("rawtypes")
092            public java.util.List dynamicQuery(
093                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
094                    throws com.liferay.portal.kernel.exception.SystemException;
095    
096            /**
097            * Performs a dynamic query on the database and returns a range of the matching rows.
098            *
099            * <p>
100            * 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.
101            * </p>
102            *
103            * @param dynamicQuery the dynamic query
104            * @param start the lower bound of the range of model instances
105            * @param end the upper bound of the range of model instances (not inclusive)
106            * @return the range of matching rows
107            * @throws SystemException if a system exception occurred
108            */
109            @SuppressWarnings("rawtypes")
110            public java.util.List dynamicQuery(
111                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
112                    int end) throws com.liferay.portal.kernel.exception.SystemException;
113    
114            /**
115            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
116            *
117            * <p>
118            * 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.
119            * </p>
120            *
121            * @param dynamicQuery the dynamic query
122            * @param start the lower bound of the range of model instances
123            * @param end the upper bound of the range of model instances (not inclusive)
124            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
125            * @return the ordered range of matching rows
126            * @throws SystemException if a system exception occurred
127            */
128            @SuppressWarnings("rawtypes")
129            public java.util.List dynamicQuery(
130                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
131                    int end,
132                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
133                    throws com.liferay.portal.kernel.exception.SystemException;
134    
135            /**
136            * Returns the number of rows that match the dynamic query.
137            *
138            * @param dynamicQuery the dynamic query
139            * @return the number of rows that match the dynamic query
140            * @throws SystemException if a system exception occurred
141            */
142            public long dynamicQueryCount(
143                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
144                    throws com.liferay.portal.kernel.exception.SystemException;
145    
146            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
147            public com.liferay.portal.model.Layout fetchLayout(long plid)
148                    throws com.liferay.portal.kernel.exception.SystemException;
149    
150            /**
151            * Returns the layout with the primary key.
152            *
153            * @param plid the primary key of the layout
154            * @return the layout
155            * @throws PortalException if a layout with the primary key could not be found
156            * @throws SystemException if a system exception occurred
157            */
158            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
159            public com.liferay.portal.model.Layout getLayout(long plid)
160                    throws com.liferay.portal.kernel.exception.PortalException,
161                            com.liferay.portal.kernel.exception.SystemException;
162    
163            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
164            public com.liferay.portal.model.PersistedModel getPersistedModel(
165                    java.io.Serializable primaryKeyObj)
166                    throws com.liferay.portal.kernel.exception.PortalException,
167                            com.liferay.portal.kernel.exception.SystemException;
168    
169            /**
170            * Returns the layout with the UUID in the group.
171            *
172            * @param uuid the UUID of layout
173            * @param groupId the group id of the layout
174            * @return the layout
175            * @throws PortalException if a layout with the UUID in the group could not be found
176            * @throws SystemException if a system exception occurred
177            */
178            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
179            public com.liferay.portal.model.Layout getLayoutByUuidAndGroupId(
180                    java.lang.String uuid, long groupId)
181                    throws com.liferay.portal.kernel.exception.PortalException,
182                            com.liferay.portal.kernel.exception.SystemException;
183    
184            /**
185            * Returns a range of all the layouts.
186            *
187            * <p>
188            * 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.
189            * </p>
190            *
191            * @param start the lower bound of the range of layouts
192            * @param end the upper bound of the range of layouts (not inclusive)
193            * @return the range of layouts
194            * @throws SystemException if a system exception occurred
195            */
196            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
197            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
198                    int start, int end)
199                    throws com.liferay.portal.kernel.exception.SystemException;
200    
201            /**
202            * Returns the number of layouts.
203            *
204            * @return the number of layouts
205            * @throws SystemException if a system exception occurred
206            */
207            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
208            public int getLayoutsCount()
209                    throws com.liferay.portal.kernel.exception.SystemException;
210    
211            /**
212            * Updates the layout in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
213            *
214            * @param layout the layout
215            * @return the layout that was updated
216            * @throws SystemException if a system exception occurred
217            */
218            public com.liferay.portal.model.Layout updateLayout(
219                    com.liferay.portal.model.Layout layout)
220                    throws com.liferay.portal.kernel.exception.SystemException;
221    
222            /**
223            * Updates the layout in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
224            *
225            * @param layout the layout
226            * @param merge whether to merge the layout with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
227            * @return the layout that was updated
228            * @throws SystemException if a system exception occurred
229            */
230            public com.liferay.portal.model.Layout updateLayout(
231                    com.liferay.portal.model.Layout layout, boolean merge)
232                    throws com.liferay.portal.kernel.exception.SystemException;
233    
234            /**
235            * Returns the Spring bean ID for this bean.
236            *
237            * @return the Spring bean ID for this bean
238            */
239            public java.lang.String getBeanIdentifier();
240    
241            /**
242            * Sets the Spring bean ID for this bean.
243            *
244            * @param beanIdentifier the Spring bean ID for this bean
245            */
246            public void setBeanIdentifier(java.lang.String beanIdentifier);
247    
248            /**
249            * Adds a layout with additional parameters.
250            *
251            * <p>
252            * This method handles the creation of the layout including its resources,
253            * metadata, and internal data structures. It is not necessary to make
254            * subsequent calls to any methods to setup default groups, resources, ...
255            * etc.
256            * </p>
257            *
258            * @param userId the primary key of the user
259            * @param groupId the primary key of the group
260            * @param privateLayout whether the layout is private to the group
261            * @param parentLayoutId the primary key of the parent layout (optionally
262            {@link
263            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
264            * @param nameMap the layout's locales and localized names
265            * @param titleMap the layout's locales and localized titles
266            * @param descriptionMap the layout's locales and localized descriptions
267            * @param keywordsMap the layout's locales and localized keywords
268            * @param robotsMap the layout's locales and localized robots
269            * @param type the layout's type (optionally {@link
270            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
271            possible types can be found in {@link
272            com.liferay.portal.model.LayoutConstants}.
273            * @param hidden whether the layout is hidden
274            * @param friendlyURL the layout's friendly URL (optionally {@link
275            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
276            or {@link
277            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
278            The default values can be overridden in
279            <code>portal-ext.properties</code> by specifying new values for
280            the corresponding properties defined in {@link
281            com.liferay.portal.util.PropsValues}. To see how the URL is
282            normalized when accessed see {@link
283            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
284            String)}.
285            * @param locked whether the layout is locked
286            * @param serviceContext the service context. Must specify the replacement
287            universally unique identifier and can specify the replacement
288            create date, replacement modified date and the new expando bridge
289            attributes.
290            * @return the layout
291            * @throws PortalException if a group or user with the primary key could not
292            be found, or if layout values were invalid
293            * @throws SystemException if a system exception occurred
294            */
295            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
296                    boolean privateLayout, long parentLayoutId,
297                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
298                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
299                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
300                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
301                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
302                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
303                    boolean locked, com.liferay.portal.service.ServiceContext serviceContext)
304                    throws com.liferay.portal.kernel.exception.PortalException,
305                            com.liferay.portal.kernel.exception.SystemException;
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 (optionally
321            {@link
322            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID}).
323            The possible values can be found in {@link
324            com.liferay.portal.model.LayoutConstants}.
325            * @param name the layout's name (optionally {@link
326            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_NAME}
327            or {@link
328            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_NAME}).
329            The default values can be overridden in
330            <code>portal-ext.properties</code> by specifying new values for
331            the corresponding properties defined in {@link
332            com.liferay.portal.util.PropsValues}
333            * @param title the layout's title
334            * @param description the layout's description
335            * @param type the layout's type (optionally {@link
336            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
337            possible types can be found in {@link
338            com.liferay.portal.model.LayoutConstants}.
339            * @param hidden whether the layout is hidden
340            * @param friendlyURL the friendly URL of the layout (optionally {@link
341            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
342            or {@link
343            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
344            The default values can be overridden in
345            <code>portal-ext.properties</code> by specifying new values for
346            the corresponding properties defined in {@link
347            com.liferay.portal.util.PropsValues}. To see how the URL is
348            normalized when accessed see {@link
349            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
350            String)}.
351            * @param locked whether the layout is locked
352            * @param serviceContext the service context. Must specify the universally
353            unique identifier and can specify the create date and modified
354            date.
355            * @return the layout
356            * @throws PortalException if a group or user with the primary key could not
357            be found
358            * @throws SystemException if a system exception occurred
359            */
360            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
361                    boolean privateLayout, long parentLayoutId, java.lang.String name,
362                    java.lang.String title, java.lang.String description,
363                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
364                    boolean locked, com.liferay.portal.service.ServiceContext serviceContext)
365                    throws com.liferay.portal.kernel.exception.PortalException,
366                            com.liferay.portal.kernel.exception.SystemException;
367    
368            /**
369            * Deletes the layout, its child layouts, and its associated resources.
370            *
371            * @param layout the layout
372            * @param updateLayoutSet whether the layout set's page counter needs to be
373            updated
374            * @param serviceContext the service context
375            * @throws PortalException if a portal exception occurred
376            * @throws SystemException if a system exception occurred
377            */
378            public void deleteLayout(com.liferay.portal.model.Layout layout,
379                    boolean updateLayoutSet,
380                    com.liferay.portal.service.ServiceContext serviceContext)
381                    throws com.liferay.portal.kernel.exception.PortalException,
382                            com.liferay.portal.kernel.exception.SystemException;
383    
384            /**
385            * Deletes the layout with the plid, also deleting the layout's child
386            * layouts, and associated resources.
387            *
388            * @param plid the primary key of the layout
389            * @param serviceContext the service context
390            * @throws PortalException if a layout with the primary key could not be
391            found , or if some other portal exception occurred
392            * @throws SystemException if a system exception occurred
393            */
394            public void deleteLayout(long plid,
395                    com.liferay.portal.service.ServiceContext serviceContext)
396                    throws com.liferay.portal.kernel.exception.PortalException,
397                            com.liferay.portal.kernel.exception.SystemException;
398    
399            /**
400            * Deletes the layout with the primary key, also deleting the layout's child
401            * layouts, and associated resources.
402            *
403            * @param groupId the primary key of the group
404            * @param privateLayout whether the layout is private to the group
405            * @param layoutId the primary key of the layout
406            * @param serviceContext the service context
407            * @throws PortalException if a matching layout could not be found , or if
408            some other portal exception occurred
409            * @throws SystemException if a system exception occurred
410            */
411            public void deleteLayout(long groupId, boolean privateLayout,
412                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
413                    throws com.liferay.portal.kernel.exception.PortalException,
414                            com.liferay.portal.kernel.exception.SystemException;
415    
416            /**
417            * Deletes the group's private or non-private layouts, also deleting the
418            * layouts' child layouts, and associated resources.
419            *
420            * @param groupId the primary key of the group
421            * @param privateLayout whether the layout is private to the group
422            * @param serviceContext the service context
423            * @throws PortalException if a group with the primary key could not be
424            found or if a layout set for the group and privacy could not be
425            found
426            * @throws SystemException if a system exception occurred
427            */
428            public void deleteLayouts(long groupId, boolean privateLayout,
429                    com.liferay.portal.service.ServiceContext serviceContext)
430                    throws com.liferay.portal.kernel.exception.PortalException,
431                            com.liferay.portal.kernel.exception.SystemException;
432    
433            /**
434            * Exports layouts with the primary keys and criteria as a byte array.
435            *
436            * @param groupId the primary key of the group
437            * @param privateLayout whether the layout is private to the group
438            * @param layoutIds the primary keys of the layouts to be exported
439            * @param parameterMap the mapping of parameters indicating which
440            information to export. For information on the keys used in the
441            map see {@link
442            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
443            * @param startDate the export's start date
444            * @param endDate the export's end date
445            * @return the layouts as a byte array
446            * @throws PortalException if a group or any layout with the primary key
447            could not be found, or if some other portal exception occurred
448            * @throws SystemException if a system exception occurred
449            */
450            public byte[] exportLayouts(long groupId, boolean privateLayout,
451                    long[] layoutIds,
452                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
453                    java.util.Date startDate, java.util.Date endDate)
454                    throws com.liferay.portal.kernel.exception.PortalException,
455                            com.liferay.portal.kernel.exception.SystemException;
456    
457            /**
458            * Exports all layouts that match the criteria as a byte array.
459            *
460            * @param groupId the primary key of the group
461            * @param privateLayout whether the layout is private to the group
462            * @param parameterMap the mapping of parameters indicating which
463            information to export. For information on the keys used in the
464            map see {@link
465            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
466            * @param startDate the export's start date
467            * @param endDate the export's end date
468            * @return the layout as a byte array
469            * @throws PortalException if a group with the primary key could not be
470            found or if some other portal exception occurred
471            * @throws SystemException if a system exception occurred
472            */
473            public byte[] exportLayouts(long groupId, boolean privateLayout,
474                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
475                    java.util.Date startDate, java.util.Date endDate)
476                    throws com.liferay.portal.kernel.exception.PortalException,
477                            com.liferay.portal.kernel.exception.SystemException;
478    
479            /**
480            * Exports the layouts that match the primary keys and criteria as a file.
481            *
482            * @param groupId the primary key of the group
483            * @param privateLayout whether the layout is private to the group
484            * @param layoutIds the primary keys of the layouts to be exported
485            (optionally <code>null</code>)
486            * @param parameterMap the mapping of parameters indicating which
487            information to export. For information on the keys used in the
488            map see {@link
489            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
490            * @param startDate the export's start date
491            * @param endDate the export's end date
492            * @return the layouts as a File
493            * @throws PortalException if a group or any layout with the primary key
494            could not be found, or if some other portal exception occurred
495            * @throws SystemException if a system exception occurred
496            */
497            public java.io.File exportLayoutsAsFile(long groupId,
498                    boolean privateLayout, long[] layoutIds,
499                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
500                    java.util.Date startDate, java.util.Date endDate)
501                    throws com.liferay.portal.kernel.exception.PortalException,
502                            com.liferay.portal.kernel.exception.SystemException;
503    
504            /**
505            * Exports the portlet information (categories, permissions, ... etc.) as a
506            * byte array.
507            *
508            * @param plid the primary key of the layout
509            * @param groupId the primary key of the group
510            * @param portletId the primary key of the portlet
511            * @param parameterMap the mapping of parameters indicating which
512            information to export. For information on the keys used in the
513            map see {@link
514            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
515            * @param startDate the export's start date
516            * @param endDate the export's end date
517            * @return the portlet information as a byte array
518            * @throws PortalException if a group or portlet with the primary key could
519            not be found, or if some other portal exception occurred
520            * @throws SystemException if a system exception occurred
521            */
522            public byte[] exportPortletInfo(long plid, long groupId,
523                    java.lang.String portletId,
524                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
525                    java.util.Date startDate, java.util.Date endDate)
526                    throws com.liferay.portal.kernel.exception.PortalException,
527                            com.liferay.portal.kernel.exception.SystemException;
528    
529            /**
530            * Exports the portlet information (categories, permissions, ... etc.) as a
531            * file.
532            *
533            * @param plid the primary key of the layout
534            * @param groupId the primary key of the group
535            * @param portletId the primary key of the portlet
536            * @param parameterMap the mapping of parameters indicating which
537            information to export. For information on the keys used in the
538            map see {@link
539            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
540            * @param startDate the export's start date
541            * @param endDate the export's end date
542            * @return the portlet information as a file
543            * @throws PortalException if a group or portlet with the primary key could
544            not be found, or if some other portal exception occurred
545            * @throws SystemException if a system exception occurred
546            */
547            public java.io.File exportPortletInfoAsFile(long plid, long groupId,
548                    java.lang.String portletId,
549                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
550                    java.util.Date startDate, java.util.Date endDate)
551                    throws com.liferay.portal.kernel.exception.PortalException,
552                            com.liferay.portal.kernel.exception.SystemException;
553    
554            /**
555            * Returns the layout matching the universally unique identifier and group
556            * ID
557            *
558            * @param uuid the universally unique identifier of the scope layout
559            * @param groupId the primary key of the group
560            * @return the layout, or <code>null</code> if a matching layout could not
561            be found
562            * @throws SystemException if a system exception occurred
563            */
564            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
565            public com.liferay.portal.model.Layout fetchLayoutByUuidAndGroupId(
566                    java.lang.String uuid, long groupId)
567                    throws com.liferay.portal.kernel.exception.SystemException;
568    
569            /**
570            * Returns the primary key of the default layout for the group
571            *
572            * @param groupId the primary key of the group
573            * @return the primary key of the default layout for the group (optionally
574            {@link com.liferay.portal.model.LayoutConstants#DEFAULT_PLID})
575            * @throws SystemException if a system exception occurred
576            */
577            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
578            public long getDefaultPlid(long groupId)
579                    throws com.liferay.portal.kernel.exception.SystemException;
580    
581            /**
582            * Returns primary key of the matching default layout for the group
583            *
584            * @param groupId the primary key of the group
585            * @param privateLayout whether the layout is private to the group
586            * @return the primary key of the default layout for the group; {@link
587            com.liferay.portal.model.LayoutConstants#DEFAULT_PLID}) otherwise
588            * @throws SystemException if a system exception occurred
589            */
590            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
591            public long getDefaultPlid(long groupId, boolean privateLayout)
592                    throws com.liferay.portal.kernel.exception.SystemException;
593    
594            /**
595            * Returns primary key of the default portlet layout for the group
596            *
597            * @param groupId the primary key of the group
598            * @param privateLayout whether the layout is private to the group
599            * @param portletId the primary key of the portlet
600            * @return the primary key of the default portlet layout for the group;
601            {@link com.liferay.portal.model.LayoutConstants#DEFAULT_PLID}
602            otherwise
603            * @throws PortalException if a portlet with the primary key could not be
604            found
605            * @throws SystemException if a system exception occurred
606            */
607            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
608            public long getDefaultPlid(long groupId, boolean privateLayout,
609                    java.lang.String portletId)
610                    throws com.liferay.portal.kernel.exception.PortalException,
611                            com.liferay.portal.kernel.exception.SystemException;
612    
613            /**
614            * Returns the layout for the friendly URL
615            *
616            * @param groupId the primary key of the group
617            * @param privateLayout whether the layout is private to the group
618            * @param friendlyURL the friendly URL of the layout
619            * @return the layout for the friendly URL
620            * @throws PortalException if the friendly URL is <code>null</code> or a
621            matching layout could not be found
622            * @throws SystemException if a system exception occurred
623            */
624            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
625            public com.liferay.portal.model.Layout getFriendlyURLLayout(long groupId,
626                    boolean privateLayout, java.lang.String friendlyURL)
627                    throws com.liferay.portal.kernel.exception.PortalException,
628                            com.liferay.portal.kernel.exception.SystemException;
629    
630            /**
631            * Returns the layout matching the primary key, group, and privacy; throws a
632            * {@link com.liferay.portal.NoSuchLayoutException} otherwise.
633            *
634            * @param groupId the primary key of the group
635            * @param privateLayout whether the layout is private to the group
636            * @param layoutId the primary key of the layout
637            * @return the matching layout
638            * @throws PortalException if a matching layout could not be found
639            * @throws SystemException if a system exception occurred
640            */
641            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
642            public com.liferay.portal.model.Layout getLayout(long groupId,
643                    boolean privateLayout, long layoutId)
644                    throws com.liferay.portal.kernel.exception.PortalException,
645                            com.liferay.portal.kernel.exception.SystemException;
646    
647            /**
648            * Returns the layout for the icon image; throws a {@link
649            * com.liferay.portal.NoSuchLayoutException} otherwise.
650            *
651            * @param iconImageId the primary key of the icon image
652            * @return Returns the layout for the icon image
653            * @throws PortalException if an icon image with the primary key could not
654            be found
655            * @throws SystemException if a system exception occurred
656            */
657            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
658            public com.liferay.portal.model.Layout getLayoutByIconImageId(
659                    long iconImageId)
660                    throws com.liferay.portal.kernel.exception.PortalException,
661                            com.liferay.portal.kernel.exception.SystemException;
662    
663            /**
664            * Returns all the layouts belonging to the group.
665            *
666            * @param groupId the primary key of the group
667            * @param privateLayout whether the layout is private to the group
668            * @return the matching layouts, or <code>null</code> if no matches were
669            found
670            * @throws SystemException if a system exception occurred
671            */
672            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
673            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
674                    long groupId, boolean privateLayout)
675                    throws com.liferay.portal.kernel.exception.SystemException;
676    
677            /**
678            * Returns all the layouts belonging to the group that are children of the
679            * parent layout.
680            *
681            * @param groupId the primary key of the group
682            * @param privateLayout whether the layout is private to the group
683            * @param parentLayoutId the primary key of the parent layout
684            * @return the matching layouts, or <code>null</code> if no matches were
685            found
686            * @throws SystemException if a system exception occurred
687            */
688            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
689            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
690                    long groupId, boolean privateLayout, long parentLayoutId)
691                    throws com.liferay.portal.kernel.exception.SystemException;
692    
693            /**
694            * Returns a range of all the layouts belonging to the group that are
695            * children of the parent layout.
696            *
697            * <p>
698            * Useful when paginating results. Returns a maximum of <code>end -
699            * start</code> instances. <code>start</code> and <code>end</code> are not
700            * primary keys, they are indexes in the result set. Thus, <code>0</code>
701            * refers to the first result in the set. Setting both <code>start</code>
702            * and <code>end</code> to {@link
703            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
704            * result set.
705            * </p>
706            *
707            * @param groupId the primary key of the group
708            * @param privateLayout whether the layout is private to the group
709            * @param parentLayoutId the primary key of the parent layout
710            * @param incomplete whether the layout is incomplete
711            * @param start the lower bound of the range of layouts
712            * @param end the upper bound of the range of layouts (not inclusive)
713            * @return the matching layouts, or <code>null</code> if no matches were
714            found
715            * @throws SystemException if a system exception occurred
716            */
717            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
718            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
719                    long groupId, boolean privateLayout, long parentLayoutId,
720                    boolean incomplete, int start, int end)
721                    throws com.liferay.portal.kernel.exception.SystemException;
722    
723            /**
724            * Returns all the layouts that match the layout IDs and belong to the
725            * group.
726            *
727            * @param groupId the primary key of the group
728            * @param privateLayout whether the layout is private to the group
729            * @param layoutIds the primary keys of the layouts
730            * @return the matching layouts, or <code>null</code> if no matches were
731            found
732            * @throws PortalException if a group or layout with the primary key could
733            not be found
734            * @throws SystemException if a system exception occurred
735            */
736            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
737            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
738                    long groupId, boolean privateLayout, long[] layoutIds)
739                    throws com.liferay.portal.kernel.exception.PortalException,
740                            com.liferay.portal.kernel.exception.SystemException;
741    
742            /**
743            * Returns all the layouts that match the type and belong to the group.
744            *
745            * @param groupId the primary key of the group
746            * @param privateLayout whether the layout is private to the group
747            * @param type the type of the layouts (optionally {@link
748            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
749            * @return the matching layouts, or <code>null</code> if no matches were
750            found
751            * @throws SystemException if a system exception occurred
752            */
753            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
754            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
755                    long groupId, boolean privateLayout, java.lang.String type)
756                    throws com.liferay.portal.kernel.exception.SystemException;
757    
758            /**
759            * Returns the layout references for all the layouts that belong to the
760            * company and belong to the portlet that matches the preferences.
761            *
762            * @param companyId the primary key of the company
763            * @param portletId the primary key of the portlet
764            * @param preferencesKey the portlet's preference key
765            * @param preferencesValue the portlet's preference value
766            * @return the layout references of the matching layouts
767            * @throws SystemException if a system exception occurred
768            */
769            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
770            public com.liferay.portal.model.LayoutReference[] getLayouts(
771                    long companyId, java.lang.String portletId,
772                    java.lang.String preferencesKey, java.lang.String preferencesValue)
773                    throws com.liferay.portal.kernel.exception.SystemException;
774    
775            /**
776            * Returns the primary key to use for the next layout.
777            *
778            * @param groupId the primary key of the group
779            * @param privateLayout whether the layout is private to the group
780            * @return the primary key to use for the next layout
781            * @throws SystemException if a system exception occurred
782            */
783            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
784            public long getNextLayoutId(long groupId, boolean privateLayout)
785                    throws com.liferay.portal.kernel.exception.SystemException;
786    
787            /**
788            * Returns all the layouts whose friendly URLs are <code>null</code>
789            *
790            * @return all the layouts whose friendly URLs are <code>null</code>
791            * @throws SystemException if a system exception occurred
792            */
793            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
794            public java.util.List<com.liferay.portal.model.Layout> getNullFriendlyURLLayouts()
795                    throws com.liferay.portal.kernel.exception.SystemException;
796    
797            /**
798            * Returns all the layouts within scope of the group
799            *
800            * @param groupId the primary key of the group
801            * @param privateLayout whether the layout is private to the group
802            * @return the layouts within scope of the group
803            * @throws SystemException if a system exception occurred
804            */
805            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
806            public java.util.List<com.liferay.portal.model.Layout> getScopeGroupLayouts(
807                    long groupId, boolean privateLayout)
808                    throws com.liferay.portal.kernel.exception.SystemException;
809    
810            /**
811            * Returns <code>true</code> if the group has any layouts;
812            * <code>false</code> otherwise.
813            *
814            * @param groupId the primary key of the group
815            * @param privateLayout whether the layout is private to the group
816            * @param parentLayoutId the primary key of the parent layout
817            * @return <code>true</code> if the group has any layouts;
818            <code>false</code> otherwise
819            * @throws SystemException if a system exception occurred
820            */
821            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
822            public boolean hasLayouts(long groupId, boolean privateLayout,
823                    long parentLayoutId)
824                    throws com.liferay.portal.kernel.exception.SystemException;
825    
826            /**
827            * Imports the layouts from the byte array.
828            *
829            * @param userId the primary key of the user
830            * @param groupId the primary key of the group
831            * @param privateLayout whether the layout is private to the group
832            * @param parameterMap the mapping of parameters indicating which
833            information will be imported. For information on the keys used in
834            the map see {@link
835            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
836            * @param bytes the byte array with the data
837            * @throws PortalException if a group or user with the primary key could not
838            be found, or if some other portal exception occurred
839            * @throws SystemException if a system exception occurred
840            * @see com.liferay.portal.lar.LayoutImporter
841            */
842            public void importLayouts(long userId, long groupId, boolean privateLayout,
843                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
844                    byte[] bytes)
845                    throws com.liferay.portal.kernel.exception.PortalException,
846                            com.liferay.portal.kernel.exception.SystemException;
847    
848            /**
849            * Imports the layouts from the file.
850            *
851            * @param userId the primary key of the user
852            * @param groupId the primary key of the group
853            * @param privateLayout whether the layout is private to the group
854            * @param parameterMap the mapping of parameters indicating which
855            information will be imported. For information on the keys used in
856            the map see {@link
857            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
858            * @param file the LAR file with the data
859            * @throws PortalException if a group or user with the primary key could not
860            be found, or if some other portal exception occurred
861            * @throws SystemException if a system exception occurred
862            * @see com.liferay.portal.lar.LayoutImporter
863            */
864            public void importLayouts(long userId, long groupId, boolean privateLayout,
865                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
866                    java.io.File file)
867                    throws com.liferay.portal.kernel.exception.PortalException,
868                            com.liferay.portal.kernel.exception.SystemException;
869    
870            /**
871            * Imports the layouts from the input stream.
872            *
873            * @param userId the primary key of the user
874            * @param groupId the primary key of the group
875            * @param privateLayout whether the layout is private to the group
876            * @param parameterMap the mapping of parameters indicating which
877            information will be imported. For information on the keys used in
878            the map see {@link
879            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
880            * @param is the input stream
881            * @throws PortalException if a group or user with the primary key could not
882            be found, or if some other portal exception occurred
883            * @throws SystemException if a system exception occurred
884            * @see com.liferay.portal.lar.LayoutImporter
885            */
886            public void importLayouts(long userId, long groupId, boolean privateLayout,
887                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
888                    java.io.InputStream is)
889                    throws com.liferay.portal.kernel.exception.PortalException,
890                            com.liferay.portal.kernel.exception.SystemException;
891    
892            /**
893            * Imports the portlet information (categories, permissions, ... etc.) from
894            * the file.
895            *
896            * @param userId the primary key of the user
897            * @param plid the primary key of the target layout
898            * @param groupId the primary key of the target group
899            * @param portletId the primary key of the portlet
900            * @param parameterMap the mapping of parameters indicating which
901            information will be imported. For information on the keys used in
902            the map see {@link
903            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
904            * @param file the LAR file with the data
905            * @throws PortalException if a group, layout, portlet or user with the
906            primary key could not be found
907            * @throws SystemException if a system exception occurred
908            */
909            public void importPortletInfo(long userId, long plid, long groupId,
910                    java.lang.String portletId,
911                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
912                    java.io.File file)
913                    throws com.liferay.portal.kernel.exception.PortalException,
914                            com.liferay.portal.kernel.exception.SystemException;
915    
916            /**
917            * Imports the portlet information (categories, permissions, ... etc.) from
918            * the input stream.
919            *
920            * @param userId the primary key of the user
921            * @param plid the primary key of the layout
922            * @param groupId the primary key of the group
923            * @param portletId the primary key of the portlet
924            * @param parameterMap the mapping of parameters indicating which
925            information will be imported. For information on the keys used in
926            the map see {@link
927            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
928            * @param is the input stream
929            * @throws PortalException if a group, portlet, layout or user with the
930            primary key could not be found
931            * @throws SystemException if a system exception occurred
932            */
933            public void importPortletInfo(long userId, long plid, long groupId,
934                    java.lang.String portletId,
935                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
936                    java.io.InputStream is)
937                    throws com.liferay.portal.kernel.exception.PortalException,
938                            com.liferay.portal.kernel.exception.SystemException;
939    
940            /**
941            * Sets the layouts for the group, replacing and prioritizing all layouts of
942            * the parent layout.
943            *
944            * @param groupId the primary key of the group
945            * @param privateLayout whether the layout is private to the group
946            * @param parentLayoutId the primary key of the parent layout
947            * @param layoutIds the primary keys of the layouts
948            * @param serviceContext the service context
949            * @throws PortalException if a group or layout with the primary key could
950            not be found, if no layouts were specified, if the first layout
951            was not page-able, if the first layout was hidden, or if some
952            other portal exception occurred
953            * @throws SystemException if a system exception occurred
954            */
955            public void setLayouts(long groupId, boolean privateLayout,
956                    long parentLayoutId, long[] layoutIds,
957                    com.liferay.portal.service.ServiceContext serviceContext)
958                    throws com.liferay.portal.kernel.exception.PortalException,
959                            com.liferay.portal.kernel.exception.SystemException;
960    
961            /**
962            * Updates the friendly URL of the layout.
963            *
964            * @param plid the primary key of the layout
965            * @param friendlyURL the friendly URL to be assigned
966            * @return the updated layout
967            * @throws PortalException if a group or layout with the primary key could
968            not be found
969            * @throws SystemException if a system exception occurred
970            */
971            public com.liferay.portal.model.Layout updateFriendlyURL(long plid,
972                    java.lang.String friendlyURL)
973                    throws com.liferay.portal.kernel.exception.PortalException,
974                            com.liferay.portal.kernel.exception.SystemException;
975    
976            /**
977            * Updates the layout.
978            *
979            * @param groupId the primary key of the group
980            * @param privateLayout whether the layout is private to the group
981            * @param layoutId the primary key of the layout
982            * @param parentLayoutId the primary key of the layout's new parent layout
983            * @param nameMap the locales and localized names to merge (optionally
984            <code>null</code>)
985            * @param titleMap the locales and localized titles to merge (optionally
986            <code>null</code>)
987            * @param descriptionMap the locales and localized descriptions to merge
988            (optionally <code>null</code>)
989            * @param keywordsMap the locales and localized keywords to merge
990            (optionally <code>null</code>)
991            * @param robotsMap the locales and localized robots to merge (optionally
992            <code>null</code>)
993            * @param type the layout's new type (optionally {@link
994            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
995            * @param hidden whether the layout is hidden
996            * @param friendlyURL the layout's new friendly URL (optionally {@link
997            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
998            or {@link
999            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}).
1000            The default values can be overridden in
1001            <code>portal-ext.properties</code> by specifying new values for
1002            the corresponding properties defined in {@link
1003            com.liferay.portal.util.PropsValues}. To see how the URL is
1004            normalized when accessed see {@link
1005            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
1006            String)}.
1007            * @param iconImage whether the icon image will be updated
1008            * @param iconBytes the byte array of the layout's new icon image
1009            * @param locked whether the layout is locked
1010            * @param serviceContext the service context. Can specify the replacement
1011            modified date and new expando bridge attributes.
1012            * @return the updated layout
1013            * @throws PortalException if a group or layout with the primary key could
1014            not be found, if a unique friendly URL could not be generated, if
1015            a valid parent layout ID to use could not be found, or if the
1016            layout parameters were invalid
1017            * @throws SystemException if a system exception occurred
1018            */
1019            public com.liferay.portal.model.Layout updateLayout(long groupId,
1020                    boolean privateLayout, long layoutId, long parentLayoutId,
1021                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1022                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1023                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1024                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
1025                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
1026                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
1027                    java.lang.Boolean iconImage, byte[] iconBytes, boolean locked,
1028                    com.liferay.portal.service.ServiceContext serviceContext)
1029                    throws com.liferay.portal.kernel.exception.PortalException,
1030                            com.liferay.portal.kernel.exception.SystemException;
1031    
1032            /**
1033            * Updates the layout replacing its type settings.
1034            *
1035            * @param groupId the primary key of the group
1036            * @param privateLayout whether the layout is private to the group
1037            * @param layoutId the primary key of the layout
1038            * @param typeSettings the settings to load the unicode properties object.
1039            See {@link com.liferay.portal.kernel.util.UnicodeProperties
1040            #fastLoad(String)}.
1041            * @return the updated layout
1042            * @throws PortalException if a matching layout could not be found
1043            * @throws SystemException if a system exception occurred
1044            */
1045            public com.liferay.portal.model.Layout updateLayout(long groupId,
1046                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
1047                    throws com.liferay.portal.kernel.exception.PortalException,
1048                            com.liferay.portal.kernel.exception.SystemException;
1049    
1050            /**
1051            * Updates the look and feel of the layout.
1052            *
1053            * @param groupId the primary key of the group
1054            * @param privateLayout whether the layout is private to the group
1055            * @param layoutId the primary key of the layout
1056            * @param themeId the primary key of the layout's new theme
1057            * @param colorSchemeId the primary key of the layout's new color scheme
1058            * @param css the layout's new CSS
1059            * @param wapTheme whether the theme is for WAP browsers
1060            * @return the updated layout
1061            * @throws PortalException if a matching layout could not be found
1062            * @throws SystemException if a system exception occurred
1063            */
1064            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
1065                    boolean privateLayout, long layoutId, java.lang.String themeId,
1066                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1067                    throws com.liferay.portal.kernel.exception.PortalException,
1068                            com.liferay.portal.kernel.exception.SystemException;
1069    
1070            /**
1071            * Updates the name of the layout.
1072            *
1073            * @param layout the layout to be updated
1074            * @param name the layout's new name
1075            * @param languageId the primary key of the language. For more information
1076            see {@link java.util.Locale}.
1077            * @return the updated layout
1078            * @throws PortalException if the new name was <code>null</code>
1079            * @throws SystemException if a system exception occurred
1080            */
1081            public com.liferay.portal.model.Layout updateName(
1082                    com.liferay.portal.model.Layout layout, java.lang.String name,
1083                    java.lang.String languageId)
1084                    throws com.liferay.portal.kernel.exception.PortalException,
1085                            com.liferay.portal.kernel.exception.SystemException;
1086    
1087            /**
1088            * Updates the name of the layout matching the group, layout ID, and
1089            * privacy.
1090            *
1091            * @param groupId the primary key of the group
1092            * @param privateLayout whether the layout is private to the group
1093            * @param layoutId the primary key of the layout
1094            * @param name the layout's new name
1095            * @param languageId the primary key of the language. For more information
1096            see {@link java.util.Locale}.
1097            * @return the updated layout
1098            * @throws PortalException if a matching layout could not be found or if the
1099            new name was <code>null</code>
1100            * @throws SystemException if a system exception occurred
1101            */
1102            public com.liferay.portal.model.Layout updateName(long groupId,
1103                    boolean privateLayout, long layoutId, java.lang.String name,
1104                    java.lang.String languageId)
1105                    throws com.liferay.portal.kernel.exception.PortalException,
1106                            com.liferay.portal.kernel.exception.SystemException;
1107    
1108            /**
1109            * Updates the name of the layout matching the primary key.
1110            *
1111            * @param plid the primary key of the layout
1112            * @param name the name to be assigned
1113            * @param languageId the primary key of the language. For more information
1114            see {@link java.util.Locale}.
1115            * @return the updated layout
1116            * @throws PortalException if a layout with the primary key could not be
1117            found or if the name was <code>null</code>
1118            * @throws SystemException if a system exception occurred
1119            */
1120            public com.liferay.portal.model.Layout updateName(long plid,
1121                    java.lang.String name, java.lang.String languageId)
1122                    throws com.liferay.portal.kernel.exception.PortalException,
1123                            com.liferay.portal.kernel.exception.SystemException;
1124    
1125            /**
1126            * Updates the parent layout ID of the layout matching the group, layout ID,
1127            * and privacy.
1128            *
1129            * @param groupId the primary key of the group
1130            * @param privateLayout whether the layout is private to the group
1131            * @param layoutId the primary key of the layout
1132            * @param parentLayoutId the primary key to be assigned to the parent
1133            layout
1134            * @return the matching layout
1135            * @throws PortalException if a valid parent layout ID to use could not be
1136            found or if a matching layout could not be found
1137            * @throws SystemException if a system exception occurred
1138            */
1139            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
1140                    boolean privateLayout, long layoutId, long parentLayoutId)
1141                    throws com.liferay.portal.kernel.exception.PortalException,
1142                            com.liferay.portal.kernel.exception.SystemException;
1143    
1144            /**
1145            * Updates the parent layout ID of the layout matching the primary key. If a
1146            * layout matching the parent primary key is found, the layout ID of that
1147            * layout is assigned, otherwise {@link
1148            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
1149            * assigned.
1150            *
1151            * @param plid the primary key of the layout
1152            * @param parentPlid the primary key of the parent layout
1153            * @return the layout matching the primary key
1154            * @throws PortalException if a layout with the primary key could not be
1155            found or if a valid parent layout ID to use could not be found
1156            * @throws SystemException if a system exception occurred
1157            */
1158            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
1159                    long parentPlid)
1160                    throws com.liferay.portal.kernel.exception.PortalException,
1161                            com.liferay.portal.kernel.exception.SystemException;
1162    
1163            /**
1164            * Updates the priority of the layout.
1165            *
1166            * @param layout the layout to be updated
1167            * @param priority the layout's new priority
1168            * @return the updated layout
1169            * @throws SystemException if a system exception occurred
1170            */
1171            public com.liferay.portal.model.Layout updatePriority(
1172                    com.liferay.portal.model.Layout layout, int priority)
1173                    throws com.liferay.portal.kernel.exception.SystemException;
1174    
1175            /**
1176            * Updates the priority of the layout matching the group, layout ID, and
1177            * privacy.
1178            *
1179            * @param groupId the primary key of the group
1180            * @param privateLayout whether the layout is private to the group
1181            * @param layoutId the primary key of the layout
1182            * @param priority the layout's new priority
1183            * @return the updated layout
1184            * @throws PortalException if a matching layout could not be found
1185            * @throws SystemException if a system exception occurred
1186            */
1187            public com.liferay.portal.model.Layout updatePriority(long groupId,
1188                    boolean privateLayout, long layoutId, int priority)
1189                    throws com.liferay.portal.kernel.exception.PortalException,
1190                            com.liferay.portal.kernel.exception.SystemException;
1191    
1192            /**
1193            * Updates the priority of the layout matching the primary key.
1194            *
1195            * @param plid the primary key of the layout
1196            * @param priority the layout's new priority
1197            * @return the updated layout
1198            * @throws PortalException if a layout with the primary key could not be
1199            found
1200            * @throws SystemException if a system exception occurred
1201            */
1202            public com.liferay.portal.model.Layout updatePriority(long plid,
1203                    int priority)
1204                    throws com.liferay.portal.kernel.exception.PortalException,
1205                            com.liferay.portal.kernel.exception.SystemException;
1206    
1207            /**
1208            * Updates the names of the portlets within scope of the group, the scope of
1209            * the layout's universally unique identifier, and the privacy.
1210            *
1211            * @param groupId the primary key of the group
1212            * @param privateLayout whether the layout is private to the group
1213            * @param layoutId the primary key of the layout whose universally unique
1214            identifier to match
1215            * @param name the new name for the portlets
1216            * @param languageId the primary key of the language
1217            * @throws PortalException if a matching layout could not be found
1218            * @throws SystemException if a system exception occurred
1219            * @see com.liferay.portlet.portletconfiguration.action.EditScopeAction
1220            */
1221            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1222                    long layoutId, java.lang.String name, java.lang.String languageId)
1223                    throws com.liferay.portal.kernel.exception.PortalException,
1224                            com.liferay.portal.kernel.exception.SystemException;
1225    }