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