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