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