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            /**
865            * Imports the layouts from the byte array.
866            *
867            * @param userId the primary key of the user
868            * @param groupId the primary key of the group
869            * @param privateLayout whether the layout is private to the group
870            * @param parameterMap the mapping of parameters indicating which
871            information will be imported. For information on the keys used in
872            the map see {@link
873            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
874            * @param bytes the byte array with the data
875            * @throws PortalException if a group or user with the primary key could not
876            be found, or if some other portal exception occurred
877            * @throws SystemException if a system exception occurred
878            * @see com.liferay.portal.lar.LayoutImporter
879            */
880            public void importLayouts(long userId, long groupId, boolean privateLayout,
881                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
882                    byte[] bytes)
883                    throws com.liferay.portal.kernel.exception.PortalException,
884                            com.liferay.portal.kernel.exception.SystemException;
885    
886            /**
887            * Imports the layouts from the file.
888            *
889            * @param userId the primary key of the user
890            * @param groupId the primary key of the group
891            * @param privateLayout whether the layout is private to the group
892            * @param parameterMap the mapping of parameters indicating which
893            information will be imported. For information on the keys used in
894            the map see {@link
895            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
896            * @param file the LAR file with the data
897            * @throws PortalException if a group or user with the primary key could not
898            be found, or if some other portal exception occurred
899            * @throws SystemException if a system exception occurred
900            * @see com.liferay.portal.lar.LayoutImporter
901            */
902            public void importLayouts(long userId, long groupId, boolean privateLayout,
903                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
904                    java.io.File file)
905                    throws com.liferay.portal.kernel.exception.PortalException,
906                            com.liferay.portal.kernel.exception.SystemException;
907    
908            /**
909            * Imports the layouts from the input stream.
910            *
911            * @param userId the primary key of the user
912            * @param groupId the primary key of the group
913            * @param privateLayout whether the layout is private to the group
914            * @param parameterMap the mapping of parameters indicating which
915            information will be imported. For information on the keys used in
916            the map see {@link
917            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
918            * @param is the input stream
919            * @throws PortalException if a group or user with the primary key could not
920            be found, or if some other portal exception occurred
921            * @throws SystemException if a system exception occurred
922            * @see com.liferay.portal.lar.LayoutImporter
923            */
924            public void importLayouts(long userId, long groupId, boolean privateLayout,
925                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
926                    java.io.InputStream is)
927                    throws com.liferay.portal.kernel.exception.PortalException,
928                            com.liferay.portal.kernel.exception.SystemException;
929    
930            /**
931            * Imports the portlet information (categories, permissions, ... etc.) from
932            * the file.
933            *
934            * @param userId the primary key of the user
935            * @param plid the primary key of the target layout
936            * @param groupId the primary key of the target group
937            * @param portletId the primary key of the portlet
938            * @param parameterMap the mapping of parameters indicating which
939            information will be imported. For information on the keys used in
940            the map see {@link
941            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
942            * @param file the LAR file with the data
943            * @throws PortalException if a group, layout, portlet or user with the
944            primary key could not be found
945            * @throws SystemException if a system exception occurred
946            */
947            public void importPortletInfo(long userId, long plid, long groupId,
948                    java.lang.String portletId,
949                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
950                    java.io.File file)
951                    throws com.liferay.portal.kernel.exception.PortalException,
952                            com.liferay.portal.kernel.exception.SystemException;
953    
954            /**
955            * Imports the portlet information (categories, permissions, ... etc.) from
956            * the input stream.
957            *
958            * @param userId the primary key of the user
959            * @param plid the primary key of the layout
960            * @param groupId the primary key of the group
961            * @param portletId the primary key of the portlet
962            * @param parameterMap the mapping of parameters indicating which
963            information will be imported. For information on the keys used in
964            the map see {@link
965            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
966            * @param is the input stream
967            * @throws PortalException if a group, portlet, layout or user with the
968            primary key could not be found
969            * @throws SystemException if a system exception occurred
970            */
971            public void importPortletInfo(long userId, long plid, long groupId,
972                    java.lang.String portletId,
973                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
974                    java.io.InputStream is)
975                    throws com.liferay.portal.kernel.exception.PortalException,
976                            com.liferay.portal.kernel.exception.SystemException;
977    
978            /**
979            * Sets the layouts for the group, replacing and prioritizing all layouts of
980            * the parent layout.
981            *
982            * @param groupId the primary key of the group
983            * @param privateLayout whether the layout is private to the group
984            * @param parentLayoutId the primary key of the parent layout
985            * @param layoutIds the primary keys of the layouts
986            * @param serviceContext the service context
987            * @throws PortalException if a group or layout with the primary key could
988            not be found, if no layouts were specified, if the first layout
989            was not page-able, if the first layout was hidden, or if some
990            other portal exception occurred
991            * @throws SystemException if a system exception occurred
992            */
993            public void setLayouts(long groupId, boolean privateLayout,
994                    long parentLayoutId, long[] layoutIds,
995                    com.liferay.portal.service.ServiceContext serviceContext)
996                    throws com.liferay.portal.kernel.exception.PortalException,
997                            com.liferay.portal.kernel.exception.SystemException;
998    
999            /**
1000            * Updates the friendly URL of the layout.
1001            *
1002            * @param plid the primary key of the layout
1003            * @param friendlyURL the friendly URL to be assigned
1004            * @return the updated layout
1005            * @throws PortalException if a group or layout with the primary key could
1006            not be found
1007            * @throws SystemException if a system exception occurred
1008            */
1009            public com.liferay.portal.model.Layout updateFriendlyURL(long plid,
1010                    java.lang.String friendlyURL)
1011                    throws com.liferay.portal.kernel.exception.PortalException,
1012                            com.liferay.portal.kernel.exception.SystemException;
1013    
1014            /**
1015            * Updates the layout.
1016            *
1017            * @param groupId the primary key of the group
1018            * @param privateLayout whether the layout is private to the group
1019            * @param layoutId the primary key of the layout
1020            * @param parentLayoutId the primary key of the layout's new parent layout
1021            * @param nameMap the locales and localized names to merge (optionally
1022            <code>null</code>)
1023            * @param titleMap the locales and localized titles to merge (optionally
1024            <code>null</code>)
1025            * @param descriptionMap the locales and localized descriptions to merge
1026            (optionally <code>null</code>)
1027            * @param keywordsMap the locales and localized keywords to merge
1028            (optionally <code>null</code>)
1029            * @param robotsMap the locales and localized robots to merge (optionally
1030            <code>null</code>)
1031            * @param type the layout's new type (optionally {@link
1032            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
1033            * @param hidden whether the layout is hidden
1034            * @param friendlyURL the layout's new friendly URL (optionally {@link
1035            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
1036            or {@link
1037            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}).
1038            The default values can be overridden in
1039            <code>portal-ext.properties</code> by specifying new values for
1040            the corresponding properties defined in {@link
1041            com.liferay.portal.util.PropsValues}. To see how the URL is
1042            normalized when accessed see {@link
1043            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
1044            String)}.
1045            * @param iconImage whether the icon image will be updated
1046            * @param iconBytes the byte array of the layout's new icon image
1047            * @param serviceContext the service context. Can set the modification date
1048            and expando bridge attributes for the layout. For layouts that
1049            are linked to a layout prototype, attributes named
1050            'layoutPrototypeUuid' and 'layoutPrototypeLinkedEnabled' can be
1051            specified to provide the unique identifier of the source
1052            prototype and a boolean to determined whether a link to it should
1053            be enabled to activate propagation of changes made to the linked
1054            page in the prototype.
1055            * @return the updated layout
1056            * @throws PortalException if a group or layout with the primary key could
1057            not be found, if a unique friendly URL could not be generated, if
1058            a valid parent layout ID to use could not be found, or if the
1059            layout parameters were invalid
1060            * @throws SystemException if a system exception occurred
1061            */
1062            public com.liferay.portal.model.Layout updateLayout(long groupId,
1063                    boolean privateLayout, long layoutId, long parentLayoutId,
1064                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1065                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1066                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1067                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
1068                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
1069                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
1070                    java.lang.Boolean iconImage, byte[] iconBytes,
1071                    com.liferay.portal.service.ServiceContext serviceContext)
1072                    throws com.liferay.portal.kernel.exception.PortalException,
1073                            com.liferay.portal.kernel.exception.SystemException;
1074    
1075            /**
1076            * Updates the layout replacing its type settings.
1077            *
1078            * @param groupId the primary key of the group
1079            * @param privateLayout whether the layout is private to the group
1080            * @param layoutId the primary key of the layout
1081            * @param typeSettings the settings to load the unicode properties object.
1082            See {@link com.liferay.portal.kernel.util.UnicodeProperties
1083            #fastLoad(String)}.
1084            * @return the updated layout
1085            * @throws PortalException if a matching layout could not be found
1086            * @throws SystemException if a system exception occurred
1087            */
1088            public com.liferay.portal.model.Layout updateLayout(long groupId,
1089                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
1090                    throws com.liferay.portal.kernel.exception.PortalException,
1091                            com.liferay.portal.kernel.exception.SystemException;
1092    
1093            /**
1094            * Updates the look and feel of the layout.
1095            *
1096            * @param groupId the primary key of the group
1097            * @param privateLayout whether the layout is private to the group
1098            * @param layoutId the primary key of the layout
1099            * @param themeId the primary key of the layout's new theme
1100            * @param colorSchemeId the primary key of the layout's new color scheme
1101            * @param css the layout's new CSS
1102            * @param wapTheme whether the theme is for WAP browsers
1103            * @return the updated layout
1104            * @throws PortalException if a matching layout could not be found
1105            * @throws SystemException if a system exception occurred
1106            */
1107            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
1108                    boolean privateLayout, long layoutId, java.lang.String themeId,
1109                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1110                    throws com.liferay.portal.kernel.exception.PortalException,
1111                            com.liferay.portal.kernel.exception.SystemException;
1112    
1113            /**
1114            * Updates the name of the layout.
1115            *
1116            * @param layout the layout to be updated
1117            * @param name the layout's new name
1118            * @param languageId the primary key of the language. For more information
1119            see {@link java.util.Locale}.
1120            * @return the updated layout
1121            * @throws PortalException if the new name was <code>null</code>
1122            * @throws SystemException if a system exception occurred
1123            */
1124            public com.liferay.portal.model.Layout updateName(
1125                    com.liferay.portal.model.Layout layout, java.lang.String name,
1126                    java.lang.String languageId)
1127                    throws com.liferay.portal.kernel.exception.PortalException,
1128                            com.liferay.portal.kernel.exception.SystemException;
1129    
1130            /**
1131            * Updates the name of the layout matching the group, layout ID, and
1132            * privacy.
1133            *
1134            * @param groupId the primary key of the group
1135            * @param privateLayout whether the layout is private to the group
1136            * @param layoutId the primary key of the layout
1137            * @param name the layout's new name
1138            * @param languageId the primary key of the language. For more information
1139            see {@link java.util.Locale}.
1140            * @return the updated layout
1141            * @throws PortalException if a matching layout could not be found or if the
1142            new name was <code>null</code>
1143            * @throws SystemException if a system exception occurred
1144            */
1145            public com.liferay.portal.model.Layout updateName(long groupId,
1146                    boolean privateLayout, long layoutId, java.lang.String name,
1147                    java.lang.String languageId)
1148                    throws com.liferay.portal.kernel.exception.PortalException,
1149                            com.liferay.portal.kernel.exception.SystemException;
1150    
1151            /**
1152            * Updates the name of the layout matching the primary key.
1153            *
1154            * @param plid the primary key of the layout
1155            * @param name the name to be assigned
1156            * @param languageId the primary key of the language. For more information
1157            see {@link java.util.Locale}.
1158            * @return the updated layout
1159            * @throws PortalException if a layout with the primary key could not be
1160            found or if the name was <code>null</code>
1161            * @throws SystemException if a system exception occurred
1162            */
1163            public com.liferay.portal.model.Layout updateName(long plid,
1164                    java.lang.String name, java.lang.String languageId)
1165                    throws com.liferay.portal.kernel.exception.PortalException,
1166                            com.liferay.portal.kernel.exception.SystemException;
1167    
1168            /**
1169            * Updates the parent layout ID of the layout matching the group, layout ID,
1170            * and privacy.
1171            *
1172            * @param groupId the primary key of the group
1173            * @param privateLayout whether the layout is private to the group
1174            * @param layoutId the primary key of the layout
1175            * @param parentLayoutId the primary key to be assigned to the parent
1176            layout
1177            * @return the matching layout
1178            * @throws PortalException if a valid parent layout ID to use could not be
1179            found or if a matching layout could not be found
1180            * @throws SystemException if a system exception occurred
1181            */
1182            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
1183                    boolean privateLayout, long layoutId, long parentLayoutId)
1184                    throws com.liferay.portal.kernel.exception.PortalException,
1185                            com.liferay.portal.kernel.exception.SystemException;
1186    
1187            /**
1188            * Updates the parent layout ID of the layout matching the primary key. If a
1189            * layout matching the parent primary key is found, the layout ID of that
1190            * layout is assigned, otherwise {@link
1191            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
1192            * assigned.
1193            *
1194            * @param plid the primary key of the layout
1195            * @param parentPlid the primary key of the parent layout
1196            * @return the layout matching the primary key
1197            * @throws PortalException if a layout with the primary key could not be
1198            found or if a valid parent layout ID to use could not be found
1199            * @throws SystemException if a system exception occurred
1200            */
1201            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
1202                    long parentPlid)
1203                    throws com.liferay.portal.kernel.exception.PortalException,
1204                            com.liferay.portal.kernel.exception.SystemException;
1205    
1206            /**
1207            * Updates the priority of the layout.
1208            *
1209            * @param layout the layout to be updated
1210            * @param priority the layout's new priority
1211            * @return the updated layout
1212            * @throws SystemException if a system exception occurred
1213            */
1214            public com.liferay.portal.model.Layout updatePriority(
1215                    com.liferay.portal.model.Layout layout, int priority)
1216                    throws com.liferay.portal.kernel.exception.SystemException;
1217    
1218            /**
1219            * Updates the priority of the layout matching the group, layout ID, and
1220            * privacy.
1221            *
1222            * @param groupId the primary key of the group
1223            * @param privateLayout whether the layout is private to the group
1224            * @param layoutId the primary key of the layout
1225            * @param priority the layout's new priority
1226            * @return the updated layout
1227            * @throws PortalException if a matching layout could not be found
1228            * @throws SystemException if a system exception occurred
1229            */
1230            public com.liferay.portal.model.Layout updatePriority(long groupId,
1231                    boolean privateLayout, long layoutId, int priority)
1232                    throws com.liferay.portal.kernel.exception.PortalException,
1233                            com.liferay.portal.kernel.exception.SystemException;
1234    
1235            /**
1236            * Updates the priority of the layout matching the primary key.
1237            *
1238            * @param plid the primary key of the layout
1239            * @param priority the layout's new priority
1240            * @return the updated layout
1241            * @throws PortalException if a layout with the primary key could not be
1242            found
1243            * @throws SystemException if a system exception occurred
1244            */
1245            public com.liferay.portal.model.Layout updatePriority(long plid,
1246                    int priority)
1247                    throws com.liferay.portal.kernel.exception.PortalException,
1248                            com.liferay.portal.kernel.exception.SystemException;
1249    
1250            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1251                    long layoutId,
1252                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1253                    java.util.List<java.util.Locale> nameMapModifiedLocales)
1254                    throws com.liferay.portal.kernel.exception.PortalException,
1255                            com.liferay.portal.kernel.exception.SystemException;
1256    
1257            /**
1258            * Updates the names of the portlets within scope of the group, the scope of
1259            * the layout's universally unique identifier, and the privacy.
1260            *
1261            * @param groupId the primary key of the group
1262            * @param privateLayout whether the layout is private to the group
1263            * @param layoutId the primary key of the layout whose universally unique
1264            identifier to match
1265            * @param name the new name for the portlets
1266            * @param languageId the primary key of the language
1267            * @throws PortalException if a matching layout could not be found
1268            * @throws SystemException if a system exception occurred
1269            * @see com.liferay.portlet.portletconfiguration.action.EditScopeAction
1270            */
1271            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1272                    long layoutId, java.lang.String name, java.lang.String languageId)
1273                    throws com.liferay.portal.kernel.exception.PortalException,
1274                            com.liferay.portal.kernel.exception.SystemException;
1275    }