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