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