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 aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
022    import com.liferay.portal.kernel.transaction.Isolation;
023    import com.liferay.portal.kernel.transaction.Propagation;
024    import com.liferay.portal.kernel.transaction.Transactional;
025    import com.liferay.portal.security.ac.AccessControlled;
026    
027    /**
028     * Provides the remote service interface for Layout. Methods of this
029     * service are expected to have security checks based on the propagated JAAS
030     * credentials because this service can be accessed remotely.
031     *
032     * @author Brian Wing Shun Chan
033     * @see LayoutServiceUtil
034     * @see com.liferay.portal.service.base.LayoutServiceBaseImpl
035     * @see com.liferay.portal.service.impl.LayoutServiceImpl
036     * @generated
037     */
038    @ProviderType
039    @AccessControlled
040    @JSONWebService
041    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
042            PortalException.class, SystemException.class})
043    public interface LayoutService extends BaseService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * Never modify or reference this interface directly. Always use {@link LayoutServiceUtil} to access the layout remote service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
048             */
049    
050            /**
051            * Returns the Spring bean ID for this bean.
052            *
053            * @return the Spring bean ID for this bean
054            */
055            public java.lang.String getBeanIdentifier();
056    
057            /**
058            * Sets the Spring bean ID for this bean.
059            *
060            * @param beanIdentifier the Spring bean ID for this bean
061            */
062            public void setBeanIdentifier(java.lang.String beanIdentifier);
063    
064            /**
065            * Adds a layout with additional parameters.
066            *
067            * <p>
068            * This method handles the creation of the layout including its resources,
069            * metadata, and internal data structures. It is not necessary to make
070            * subsequent calls to any methods to setup default groups, resources, ...
071            * etc.
072            * </p>
073            *
074            * @param groupId the primary key of the group
075            * @param privateLayout whether the layout is private to the group
076            * @param parentLayoutId the primary key of the parent layout
077            (optionally {@link
078            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
079            * @param localeNamesMap the layout's locales and localized names
080            * @param localeTitlesMap the layout's locales and localized titles
081            * @param descriptionMap the layout's locales and localized
082            descriptions
083            * @param keywordsMap the layout's locales and localized keywords
084            * @param robotsMap the layout's locales and localized robots
085            * @param type the layout's type (optionally {@link
086            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
087            possible types can be found in {@link
088            com.liferay.portal.model.LayoutConstants}.
089            * @param hidden whether the layout is hidden
090            * @param friendlyURL the layout's locales and localized friendly URLs.
091            To see how the URL is normalized when accessed, see {@link
092            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
093            String)}.
094            * @param serviceContext the service context to be applied. Must set
095            the UUID for the layout. Can set the creation date,
096            modification date, and expando bridge attributes for the
097            layout. For layouts that belong to a layout set prototype, an
098            attribute named <code>layoutUpdateable</code> can be used to
099            specify whether site administrators can modify this page
100            within their site.
101            * @return the layout
102            * @throws PortalException if a group with the primary key could not be
103            found, if the group did not have permission to manage the
104            layouts involved, if layout values were invalid, or if a
105            portal exception occurred
106            * @throws SystemException if a system exception occurred
107            * @deprecated As of 6.2.0, replaced by {@link #addLayout(long, boolean,
108            long, Map, Map, Map, Map, Map, String, String, boolean, Map,
109            ServiceContext)}
110            */
111            public com.liferay.portal.model.Layout addLayout(long groupId,
112                    boolean privateLayout, long parentLayoutId,
113                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
114                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
115                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
116                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
117                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
118                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
119                    com.liferay.portal.service.ServiceContext serviceContext)
120                    throws com.liferay.portal.kernel.exception.PortalException,
121                            com.liferay.portal.kernel.exception.SystemException;
122    
123            /**
124            * Adds a layout with additional parameters.
125            *
126            * <p>
127            * This method handles the creation of the layout including its resources,
128            * metadata, and internal data structures. It is not necessary to make
129            * subsequent calls to any methods to setup default groups, resources, ...
130            * etc.
131            * </p>
132            *
133            * @param groupId the primary key of the group
134            * @param privateLayout whether the layout is private to the group
135            * @param parentLayoutId the primary key of the parent layout (optionally
136            {@link
137            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
138            * @param localeNamesMap the layout's locales and localized names
139            * @param localeTitlesMap the layout's locales and localized titles
140            * @param descriptionMap the layout's locales and localized descriptions
141            * @param keywordsMap the layout's locales and localized keywords
142            * @param robotsMap the layout's locales and localized robots
143            * @param type the layout's type (optionally {@link
144            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
145            possible types can be found in {@link
146            com.liferay.portal.model.LayoutConstants}.
147            * @param typeSettings the settings to load the unicode properties object.
148            See {@link com.liferay.portal.kernel.util.UnicodeProperties
149            #fastLoad(String)}.
150            * @param hidden whether the layout is hidden
151            * @param friendlyURLMap the layout's locales and localized friendly URLs.
152            To see how the URL is normalized when accessed, see {@link
153            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
154            String)}.
155            * @param serviceContext the service context to be applied. Must set the
156            UUID for the layout. Can set the creation date, modification
157            date, and expando bridge attributes for the layout. For layouts
158            that belong to a layout set prototype, an attribute named
159            <code>layoutUpdateable</code> can be used to specify whether site
160            administrators can modify this page within their site.
161            * @return the layout
162            * @throws PortalException if a group with the primary key could not be
163            found, if the group did not have permission to manage the layouts
164            involved, if layout values were invalid, or if a portal exception
165            occurred
166            * @throws SystemException if a system exception occurred
167            */
168            public com.liferay.portal.model.Layout addLayout(long groupId,
169                    boolean privateLayout, long parentLayoutId,
170                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
171                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
172                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
173                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
174                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
175                    java.lang.String type, java.lang.String typeSettings, boolean hidden,
176                    java.util.Map<java.util.Locale, java.lang.String> friendlyURLMap,
177                    com.liferay.portal.service.ServiceContext serviceContext)
178                    throws com.liferay.portal.kernel.exception.PortalException,
179                            com.liferay.portal.kernel.exception.SystemException;
180    
181            /**
182            * Adds a layout with single entry maps for name, title, and description to
183            * the default locale.
184            *
185            * <p>
186            * This method handles the creation of the layout including its resources,
187            * metadata, and internal data structures. It is not necessary to make
188            * subsequent calls to any methods to setup default groups, resources, ...
189            * etc.
190            * </p>
191            *
192            * @param groupId the primary key of the group
193            * @param privateLayout whether the layout is private to the group
194            * @param parentLayoutId the primary key of the parent layout (optionally
195            {@link
196            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
197            * @param name Map the layout's locales and localized names
198            * @param title Map the layout's locales and localized titles
199            * @param description Map the layout's locales and localized descriptions
200            * @param type the layout's type (optionally {@link
201            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
202            possible types can be found in {@link
203            com.liferay.portal.model.LayoutConstants}.
204            * @param hidden whether the layout is hidden
205            * @param friendlyURL the layout's locales and localized friendly URLs. To
206            see how the URL is normalized when accessed, see {@link
207            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
208            String)}.
209            * @param serviceContext the service context to be applied. Must set the
210            UUID for the layout. Can specify the creation date, modification
211            date, and expando bridge attributes for the layout. For layouts
212            that belong to a layout set prototype, an attribute named
213            <code>layoutUpdateable</code> can be used to specify whether site
214            administrators can modify this page within their site.
215            * @return the layout
216            * @throws PortalException if a group with the primary key could not be
217            found, if the group did not have permission to manage the layouts
218            involved, if layout values were invalid, or if a portal exception
219            occurred
220            * @throws SystemException if a system exception occurred
221            */
222            public com.liferay.portal.model.Layout addLayout(long groupId,
223                    boolean privateLayout, long parentLayoutId, java.lang.String name,
224                    java.lang.String title, java.lang.String description,
225                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
226                    com.liferay.portal.service.ServiceContext serviceContext)
227                    throws com.liferay.portal.kernel.exception.PortalException,
228                            com.liferay.portal.kernel.exception.SystemException;
229    
230            public com.liferay.portal.kernel.repository.model.FileEntry addTempFileEntry(
231                    long groupId, java.lang.String fileName,
232                    java.lang.String tempFolderName, java.io.InputStream inputStream,
233                    java.lang.String mimeType)
234                    throws com.liferay.portal.kernel.exception.PortalException,
235                            com.liferay.portal.kernel.exception.SystemException;
236    
237            /**
238            * Deletes the layout with the primary key, also deleting the layout's child
239            * layouts, and associated resources.
240            *
241            * @param groupId the primary key of the group
242            * @param privateLayout whether the layout is private to the group
243            * @param layoutId the primary key of the layout
244            * @param serviceContext the service context to be applied
245            * @throws PortalException if the user did not have permission to delete the
246            layout, if a matching layout could not be found , or if some
247            other portal exception occurred
248            * @throws SystemException if a system exception occurred
249            */
250            public void deleteLayout(long groupId, boolean privateLayout,
251                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
252                    throws com.liferay.portal.kernel.exception.PortalException,
253                            com.liferay.portal.kernel.exception.SystemException;
254    
255            /**
256            * Deletes the layout with the plid, also deleting the layout's child
257            * layouts, and associated resources.
258            *
259            * @param plid the primary key of the layout
260            * @param serviceContext the service context to be applied
261            * @throws PortalException if the user did not have permission to delete the
262            layout, if a layout with the primary key could not be found , or
263            if some other portal exception occurred
264            * @throws SystemException if a system exception occurred
265            */
266            public void deleteLayout(long plid,
267                    com.liferay.portal.service.ServiceContext serviceContext)
268                    throws com.liferay.portal.kernel.exception.PortalException,
269                            com.liferay.portal.kernel.exception.SystemException;
270    
271            public void deleteTempFileEntry(long groupId, java.lang.String fileName,
272                    java.lang.String tempFolderName)
273                    throws com.liferay.portal.kernel.exception.PortalException,
274                            com.liferay.portal.kernel.exception.SystemException;
275    
276            /**
277            * Exports the layouts that match the primary keys and the criteria as a
278            * byte array.
279            *
280            * @param groupId the primary key of the group
281            * @param privateLayout whether the layout is private to the group
282            * @param layoutIds the primary keys of the layouts to be exported
283            * @param parameterMap the mapping of parameters indicating which
284            information to export. For information on the keys used in the
285            map see {@link
286            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
287            * @param startDate the export's start date
288            * @param endDate the export's end date
289            * @return the layouts as a byte array
290            * @throws PortalException if a group or any layout with the primary key
291            could not be found, if the group did not have permission to
292            manage the layouts, or if some other portal exception occurred
293            * @throws SystemException if a system exception occurred
294            */
295            public byte[] exportLayouts(long groupId, boolean privateLayout,
296                    long[] layoutIds,
297                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
298                    java.util.Date startDate, java.util.Date endDate)
299                    throws com.liferay.portal.kernel.exception.PortalException,
300                            com.liferay.portal.kernel.exception.SystemException;
301    
302            /**
303            * Exports all layouts that match the criteria as a byte array.
304            *
305            * @param groupId the primary key of the group
306            * @param privateLayout whether the layout is private to the group
307            * @param parameterMap the mapping of parameters indicating which
308            information to export. For information on the keys used in the
309            map see {@link
310            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
311            * @param startDate the export's start date
312            * @param endDate the export's end date
313            * @return the layout as a byte array
314            * @throws PortalException if a group with the primary key could not be
315            found, if the group did not have permission to manage the
316            layouts, or if some other portal exception occurred
317            * @throws SystemException if a system exception occurred
318            */
319            public byte[] exportLayouts(long groupId, boolean privateLayout,
320                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
321                    java.util.Date startDate, java.util.Date endDate)
322                    throws com.liferay.portal.kernel.exception.PortalException,
323                            com.liferay.portal.kernel.exception.SystemException;
324    
325            /**
326            * Exports all layouts that match the primary keys and criteria as a file.
327            *
328            * @param groupId the primary key of the group
329            * @param privateLayout whether the layout is private to the group
330            * @param layoutIds the primary keys of the layouts to be exported
331            (optionally <code>null</code>)
332            * @param parameterMap the mapping of parameters indicating which
333            information to export. For information on the keys used in the
334            map see {@link
335            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
336            * @param startDate the export's start date
337            * @param endDate the export's end date
338            * @return the layouts as a File
339            * @throws PortalException if a group or any layout with the primary key
340            could not be found, it the group did not have permission to
341            manage the layouts, or if some other portal exception occurred
342            * @throws SystemException if a system exception occurred
343            */
344            public java.io.File exportLayoutsAsFile(long groupId,
345                    boolean privateLayout, long[] layoutIds,
346                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
347                    java.util.Date startDate, java.util.Date endDate)
348                    throws com.liferay.portal.kernel.exception.PortalException,
349                            com.liferay.portal.kernel.exception.SystemException;
350    
351            public long exportLayoutsAsFileInBackground(java.lang.String taskName,
352                    long groupId, boolean privateLayout, long[] layoutIds,
353                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
354                    java.util.Date startDate, java.util.Date endDate,
355                    java.lang.String fileName)
356                    throws com.liferay.portal.kernel.exception.PortalException,
357                            com.liferay.portal.kernel.exception.SystemException;
358    
359            /**
360            * Exports the portlet information (categories, permissions, ... etc.) as a
361            * byte array.
362            *
363            * @param plid the primary key of the layout
364            * @param groupId the primary key of the group
365            * @param portletId the primary key of the portlet
366            * @param parameterMap the mapping of parameters indicating which
367            information to export. For information on the keys used in the
368            map see {@link
369            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
370            * @param startDate the export's start date
371            * @param endDate the export's end date
372            * @return the portlet information as a byte array
373            * @throws PortalException if a layout, group, or portlet with the primary
374            key could not be found, if the group did not have permission to
375            manage the layouts involved, or if some other portal exception
376            occurred
377            * @throws SystemException if a system exception occurred
378            */
379            public byte[] exportPortletInfo(long plid, long groupId,
380                    java.lang.String portletId,
381                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
382                    java.util.Date startDate, java.util.Date endDate)
383                    throws com.liferay.portal.kernel.exception.PortalException,
384                            com.liferay.portal.kernel.exception.SystemException;
385    
386            public byte[] exportPortletInfo(long companyId, java.lang.String portletId,
387                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
388                    java.util.Date startDate, java.util.Date endDate)
389                    throws com.liferay.portal.kernel.exception.PortalException,
390                            com.liferay.portal.kernel.exception.SystemException;
391    
392            /**
393            * Exports the portlet information (categories, permissions, ... etc.) as a
394            * file.
395            *
396            * @param plid the primary key of the layout
397            * @param groupId the primary key of the group
398            * @param portletId the primary key of the portlet
399            * @param parameterMap the mapping of parameters indicating which
400            information to export. For information on the keys used in the
401            map see {@link
402            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
403            * @param startDate the export's start date
404            * @param endDate the export's end date
405            * @return the portlet information as a file
406            * @throws PortalException if a layout, group, or portlet with the primary
407            key could not be found, it the group did not have permission to
408            manage the layouts involved, or if some other portal exception
409            occurred
410            * @throws SystemException if a system exception occurred
411            */
412            public java.io.File exportPortletInfoAsFile(long plid, long groupId,
413                    java.lang.String portletId,
414                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
415                    java.util.Date startDate, java.util.Date endDate)
416                    throws com.liferay.portal.kernel.exception.PortalException,
417                            com.liferay.portal.kernel.exception.SystemException;
418    
419            public java.io.File exportPortletInfoAsFile(java.lang.String portletId,
420                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
421                    java.util.Date startDate, java.util.Date endDate)
422                    throws com.liferay.portal.kernel.exception.PortalException,
423                            com.liferay.portal.kernel.exception.SystemException;
424    
425            public long exportPortletInfoAsFileInBackground(java.lang.String taskName,
426                    long plid, long groupId, java.lang.String portletId,
427                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
428                    java.util.Date startDate, java.util.Date endDate,
429                    java.lang.String fileName)
430                    throws com.liferay.portal.kernel.exception.PortalException,
431                            com.liferay.portal.kernel.exception.SystemException;
432    
433            public long exportPortletInfoAsFileInBackground(java.lang.String taskName,
434                    java.lang.String portletId,
435                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
436                    java.util.Date startDate, java.util.Date endDate,
437                    java.lang.String fileName)
438                    throws com.liferay.portal.kernel.exception.PortalException,
439                            com.liferay.portal.kernel.exception.SystemException;
440    
441            /**
442            * Returns all the ancestor layouts of the layout.
443            *
444            * @param plid the primary key of the layout
445            * @return the ancestor layouts of the layout
446            * @throws PortalException if a matching layout could not be found or if a
447            portal exception occurred
448            * @throws SystemException if a system exception occurred
449            */
450            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
451            public java.util.List<com.liferay.portal.model.Layout> getAncestorLayouts(
452                    long plid)
453                    throws com.liferay.portal.kernel.exception.PortalException,
454                            com.liferay.portal.kernel.exception.SystemException;
455    
456            /**
457            * Returns the primary key of the default layout for the group.
458            *
459            * @param groupId the primary key of the group
460            * @param scopeGroupId the primary key of the scope group. See {@link
461            com.liferay.portal.service.ServiceContext#getScopeGroupId()}.
462            * @param privateLayout whether the layout is private to the group
463            * @param portletId the primary key of the portlet
464            * @return Returns the primary key of the default layout group; {@link
465            com.liferay.portal.model.LayoutConstants#DEFAULT_PLID} otherwise
466            * @throws PortalException if a group, layout, or portlet with the primary
467            key could not be found
468            * @throws SystemException if a system exception occurred
469            */
470            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
471            public long getDefaultPlid(long groupId, long scopeGroupId,
472                    boolean privateLayout, java.lang.String portletId)
473                    throws com.liferay.portal.kernel.exception.PortalException,
474                            com.liferay.portal.kernel.exception.SystemException;
475    
476            @com.liferay.portal.kernel.cache.ThreadLocalCachable
477            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
478            public long getDefaultPlid(long groupId, long scopeGroupId,
479                    java.lang.String portletId)
480                    throws com.liferay.portal.kernel.exception.PortalException,
481                            com.liferay.portal.kernel.exception.SystemException;
482    
483            /**
484            * Returns the layout matching the UUID, group, and privacy.
485            *
486            * @param uuid the layout's UUID
487            * @param groupId the primary key of the group
488            * @param privateLayout whether the layout is private to the group
489            * @return the matching layout
490            * @throws PortalException if a matching layout could not be found, if the
491            user did not have permission to view the layout, or if some other
492            portal exception occurred
493            * @throws SystemException if a system exception occurred
494            */
495            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
496            public com.liferay.portal.model.Layout getLayoutByUuidAndGroupId(
497                    java.lang.String uuid, long groupId, boolean privateLayout)
498                    throws com.liferay.portal.kernel.exception.PortalException,
499                            com.liferay.portal.kernel.exception.SystemException;
500    
501            /**
502            * Returns the name of the layout.
503            *
504            * @param groupId the primary key of the group
505            * @param privateLayout whether the layout is private to the group
506            * @param layoutId the primary key of the layout
507            * @param languageId the primary key of the language. For more information
508            See {@link java.util.Locale}.
509            * @return the layout's name
510            * @throws PortalException if a matching layout could not be found
511            * @throws SystemException if a system exception occurred
512            */
513            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
514            public java.lang.String getLayoutName(long groupId, boolean privateLayout,
515                    long layoutId, java.lang.String languageId)
516                    throws com.liferay.portal.kernel.exception.PortalException,
517                            com.liferay.portal.kernel.exception.SystemException;
518    
519            /**
520            * Returns the layout references for all the layouts that belong to the
521            * company and belong to the portlet that matches the preferences.
522            *
523            * @param companyId the primary key of the company
524            * @param portletId the primary key of the portlet
525            * @param preferencesKey the portlet's preference key
526            * @param preferencesValue the portlet's preference value
527            * @return the layout references of the matching layouts
528            * @throws SystemException if a system exception occurred
529            */
530            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
531            public com.liferay.portal.model.LayoutReference[] getLayoutReferences(
532                    long companyId, java.lang.String portletId,
533                    java.lang.String preferencesKey, java.lang.String preferencesValue)
534                    throws com.liferay.portal.kernel.exception.SystemException;
535    
536            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
537            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
538                    long groupId, boolean privateLayout)
539                    throws com.liferay.portal.kernel.exception.SystemException;
540    
541            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
542            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
543                    long groupId, boolean privateLayout, long parentLayoutId)
544                    throws com.liferay.portal.kernel.exception.SystemException;
545    
546            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
547            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
548                    long groupId, boolean privateLayout, long parentLayoutId,
549                    boolean incomplete, int start, int end)
550                    throws com.liferay.portal.kernel.exception.SystemException;
551    
552            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
553            public int getLayoutsCount(long groupId, boolean privateLayout,
554                    long parentLayoutId)
555                    throws com.liferay.portal.kernel.exception.SystemException;
556    
557            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
558            public java.lang.String[] getTempFileEntryNames(long groupId,
559                    java.lang.String tempFolderName)
560                    throws com.liferay.portal.kernel.exception.PortalException,
561                            com.liferay.portal.kernel.exception.SystemException;
562    
563            /**
564            * Imports the layouts from the byte array.
565            *
566            * @param groupId the primary key of the group
567            * @param privateLayout whether the layout is private to the group
568            * @param parameterMap the mapping of parameters indicating which
569            information will be imported. For information on the keys used in
570            the map see {@link
571            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
572            * @param bytes the byte array with the data
573            * @throws PortalException if a group with the primary key could not be
574            found, if the group did not have permission to manage the
575            layouts, or if some other portal exception occurred
576            * @throws SystemException if a system exception occurred
577            * @see com.liferay.portal.lar.LayoutImporter
578            */
579            public void importLayouts(long groupId, boolean privateLayout,
580                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
581                    byte[] bytes)
582                    throws com.liferay.portal.kernel.exception.PortalException,
583                            com.liferay.portal.kernel.exception.SystemException;
584    
585            /**
586            * Imports the layouts from the file.
587            *
588            * @param groupId the primary key of the group
589            * @param privateLayout whether the layout is private to the group
590            * @param parameterMap the mapping of parameters indicating which
591            information will be imported. For information on the keys used in
592            the map see {@link
593            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
594            * @param file the LAR file with the data
595            * @throws PortalException if a group with the primary key could not be
596            found, if the group did not have permission to manage the layouts
597            and publish, or if some other portal exception occurred
598            * @throws SystemException if a system exception occurred
599            * @see com.liferay.portal.lar.LayoutImporter
600            */
601            public void importLayouts(long groupId, boolean privateLayout,
602                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
603                    java.io.File file)
604                    throws com.liferay.portal.kernel.exception.PortalException,
605                            com.liferay.portal.kernel.exception.SystemException;
606    
607            /**
608            * Imports the layouts from the input stream.
609            *
610            * @param groupId the primary key of the group
611            * @param privateLayout whether the layout is private to the group
612            * @param parameterMap the mapping of parameters indicating which
613            information will be imported. For information on the keys used in
614            the map see {@link
615            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
616            * @param is the input stream
617            * @throws PortalException if a group with the primary key could not be
618            found, if the group did not have permission to manage the
619            layouts, or if some other portal exception occurred
620            * @throws SystemException if a system exception occurred
621            * @see com.liferay.portal.lar.LayoutImporter
622            */
623            public void importLayouts(long groupId, boolean privateLayout,
624                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
625                    java.io.InputStream is)
626                    throws com.liferay.portal.kernel.exception.PortalException,
627                            com.liferay.portal.kernel.exception.SystemException;
628    
629            public long importLayoutsInBackground(java.lang.String taskName,
630                    long groupId, boolean privateLayout,
631                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
632                    java.io.File file)
633                    throws com.liferay.portal.kernel.exception.PortalException,
634                            com.liferay.portal.kernel.exception.SystemException;
635    
636            public long importLayoutsInBackground(java.lang.String taskName,
637                    long groupId, boolean privateLayout,
638                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
639                    java.io.InputStream inputStream)
640                    throws com.liferay.portal.kernel.exception.PortalException,
641                            com.liferay.portal.kernel.exception.SystemException;
642    
643            /**
644            * Imports the portlet information (categories, permissions, ... etc.) from
645            * the file.
646            *
647            * @param plid the primary key of the layout
648            * @param groupId the primary key of the group
649            * @param portletId the primary key of the portlet
650            * @param parameterMap the mapping of parameters indicating which
651            information will be imported. For information on the keys used in
652            the map see {@link
653            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
654            * @param file the LAR file with the data
655            * @throws PortalException if a group, layout, or portlet with the primary
656            key could not be found, or if the group did not have permission
657            to manage the layouts
658            * @throws SystemException if a system exception occurred
659            */
660            public void importPortletInfo(long plid, long groupId,
661                    java.lang.String portletId,
662                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
663                    java.io.File file)
664                    throws com.liferay.portal.kernel.exception.PortalException,
665                            com.liferay.portal.kernel.exception.SystemException;
666    
667            /**
668            * Imports the portlet information (categories, permissions, ... etc.) from
669            * the input stream.
670            *
671            * @param plid the primary key of the layout
672            * @param groupId the primary key of the group
673            * @param portletId the primary key of the portlet
674            * @param parameterMap the mapping of parameters indicating which
675            information will be imported. For information on the keys used in
676            the map see {@link
677            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
678            * @param is the input stream
679            * @throws PortalException if a group, portlet, or layout with the primary
680            key could not be found or if the group did not have permission to
681            manage the layouts
682            * @throws SystemException if a system exception occurred
683            */
684            public void importPortletInfo(long plid, long groupId,
685                    java.lang.String portletId,
686                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
687                    java.io.InputStream is)
688                    throws com.liferay.portal.kernel.exception.PortalException,
689                            com.liferay.portal.kernel.exception.SystemException;
690    
691            public void importPortletInfo(java.lang.String portletId,
692                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
693                    java.io.File file)
694                    throws com.liferay.portal.kernel.exception.PortalException,
695                            com.liferay.portal.kernel.exception.SystemException;
696    
697            public void importPortletInfo(java.lang.String portletId,
698                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
699                    java.io.InputStream is)
700                    throws com.liferay.portal.kernel.exception.PortalException,
701                            com.liferay.portal.kernel.exception.SystemException;
702    
703            public long importPortletInfoInBackground(java.lang.String taskName,
704                    long plid, long groupId, java.lang.String portletId,
705                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
706                    java.io.File file)
707                    throws com.liferay.portal.kernel.exception.PortalException,
708                            com.liferay.portal.kernel.exception.SystemException;
709    
710            public long importPortletInfoInBackground(java.lang.String taskName,
711                    long plid, long groupId, java.lang.String portletId,
712                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
713                    java.io.InputStream is)
714                    throws com.liferay.portal.kernel.exception.PortalException,
715                            com.liferay.portal.kernel.exception.SystemException;
716    
717            public void importPortletInfoInBackground(java.lang.String taskName,
718                    java.lang.String portletId,
719                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
720                    java.io.File file)
721                    throws com.liferay.portal.kernel.exception.PortalException,
722                            com.liferay.portal.kernel.exception.SystemException;
723    
724            public void importPortletInfoInBackground(java.lang.String taskName,
725                    java.lang.String portletId,
726                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
727                    java.io.InputStream is)
728                    throws com.liferay.portal.kernel.exception.PortalException,
729                            com.liferay.portal.kernel.exception.SystemException;
730    
731            /**
732            * Schedules a range of layouts to be published.
733            *
734            * @param sourceGroupId the primary key of the source group
735            * @param targetGroupId the primary key of the target group
736            * @param privateLayout whether the layout is private to the group
737            * @param layoutIdMap the layouts considered for publishing, specified by
738            the layout IDs and booleans indicating whether they have children
739            * @param parameterMap the mapping of parameters indicating which
740            information will be used. See {@link
741            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
742            * @param scope the scope of the pages. It can be <code>all-pages</code> or
743            <code>selected-pages</code>.
744            * @param startDate the start date
745            * @param endDate the end date
746            * @param groupName the group name (optionally {@link
747            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
748            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
749            * @param cronText the cron text. See {@link
750            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
751            * @param schedulerStartDate the scheduler start date
752            * @param schedulerEndDate the scheduler end date
753            * @param description the scheduler description
754            * @throws PortalException if the group did not have permission to manage
755            and publish
756            * @throws SystemException if a system exception occurred
757            */
758            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
759                    boolean privateLayout,
760                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
761                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
762                    java.lang.String scope, java.util.Date startDate,
763                    java.util.Date endDate, java.lang.String groupName,
764                    java.lang.String cronText, java.util.Date schedulerStartDate,
765                    java.util.Date schedulerEndDate, java.lang.String description)
766                    throws com.liferay.portal.kernel.exception.PortalException,
767                            com.liferay.portal.kernel.exception.SystemException;
768    
769            /**
770            * Schedules a range of layouts to be stored.
771            *
772            * @param sourceGroupId the primary key of the source group
773            * @param privateLayout whether the layout is private to the group
774            * @param layoutIdMap the layouts considered for publishing, specified by
775            the layout IDs and booleans indicating whether they have children
776            * @param parameterMap the mapping of parameters indicating which
777            information will be used. See {@link
778            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
779            * @param remoteAddress the remote address
780            * @param remotePort the remote port
781            * @param remotePathContext the remote path context
782            * @param secureConnection whether the connection is secure
783            * @param remoteGroupId the primary key of the remote group
784            * @param remotePrivateLayout whether remote group's layout is private
785            * @param startDate the start date
786            * @param endDate the end date
787            * @param groupName the group name. Optionally {@link
788            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
789            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
790            * @param cronText the cron text. See {@link
791            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
792            * @param schedulerStartDate the scheduler start date
793            * @param schedulerEndDate the scheduler end date
794            * @param description the scheduler description
795            * @throws PortalException if a group with the source group primary key was
796            not found or if the group did not have permission to publish
797            * @throws SystemException if a system exception occurred
798            */
799            public void schedulePublishToRemote(long sourceGroupId,
800                    boolean privateLayout,
801                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
802                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
803                    java.lang.String remoteAddress, int remotePort,
804                    java.lang.String remotePathContext, boolean secureConnection,
805                    long remoteGroupId, boolean remotePrivateLayout,
806                    java.util.Date startDate, java.util.Date endDate,
807                    java.lang.String groupName, java.lang.String cronText,
808                    java.util.Date schedulerStartDate, java.util.Date schedulerEndDate,
809                    java.lang.String description)
810                    throws com.liferay.portal.kernel.exception.PortalException,
811                            com.liferay.portal.kernel.exception.SystemException;
812    
813            /**
814            * Sets the layouts for the group, replacing and prioritizing all layouts of
815            * the parent layout.
816            *
817            * @param groupId the primary key of the group
818            * @param privateLayout whether the layout is private to the group
819            * @param parentLayoutId the primary key of the parent layout
820            * @param layoutIds the primary keys of the layouts
821            * @param serviceContext the service context to be applied
822            * @throws PortalException if a group or layout with the primary key could
823            not be found, if the group did not have permission to manage the
824            layouts, if no layouts were specified, if the first layout was
825            not page-able, if the first layout was hidden, or if some other
826            portal exception occurred
827            * @throws SystemException if a system exception occurred
828            */
829            public void setLayouts(long groupId, boolean privateLayout,
830                    long parentLayoutId, long[] layoutIds,
831                    com.liferay.portal.service.ServiceContext serviceContext)
832                    throws com.liferay.portal.kernel.exception.PortalException,
833                            com.liferay.portal.kernel.exception.SystemException;
834    
835            /**
836            * Deletes the job from the scheduler's queue.
837            *
838            * @param groupId the primary key of the group
839            * @param jobName the job name
840            * @param groupName the group name (optionally {@link
841            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
842            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
843            * @throws PortalException if the group did not permission to manage staging
844            and publish
845            * @throws SystemException if a system exception occurred
846            */
847            public void unschedulePublishToLive(long groupId, java.lang.String jobName,
848                    java.lang.String groupName)
849                    throws com.liferay.portal.kernel.exception.PortalException,
850                            com.liferay.portal.kernel.exception.SystemException;
851    
852            /**
853            * Deletes the job from the scheduler's persistent queue.
854            *
855            * @param groupId the primary key of the group
856            * @param jobName the job name
857            * @param groupName the group name (optionally {@link
858            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
859            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
860            * @throws PortalException if a group with the primary key could not be
861            found or if the group did not have permission to publish
862            * @throws SystemException if a system exception occurred
863            */
864            public void unschedulePublishToRemote(long groupId,
865                    java.lang.String jobName, java.lang.String groupName)
866                    throws com.liferay.portal.kernel.exception.PortalException,
867                            com.liferay.portal.kernel.exception.SystemException;
868    
869            /**
870            * Updates the layout with additional parameters.
871            *
872            * @param groupId the primary key of the group
873            * @param privateLayout whether the layout is private to the group
874            * @param layoutId the primary key of the layout
875            * @param parentLayoutId the primary key of the layout's new parent layout
876            * @param localeNamesMap the layout's locales and localized names
877            * @param localeTitlesMap the layout's locales and localized titles
878            * @param descriptionMap the locales and localized descriptions to merge
879            (optionally <code>null</code>)
880            * @param keywordsMap the locales and localized keywords to merge
881            (optionally <code>null</code>)
882            * @param robotsMap the locales and localized robots to merge (optionally
883            <code>null</code>)
884            * @param type the layout's new type (optionally {@link
885            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
886            * @param hidden whether the layout is hidden
887            * @param friendlyURLMap the layout's locales and localized friendly URLs.
888            To see how the URL is normalized when accessed see {@link
889            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
890            String)}.
891            * @param iconImage whether the icon image will be updated
892            * @param iconBytes the byte array of the layout's new icon image
893            * @param serviceContext the service context to be applied. Can set the
894            modification date and expando bridge attributes for the layout.
895            * @return the updated layout
896            * @throws PortalException if a group or layout with the primary key could
897            not be found, if the user did not have permission to update the
898            layout, if a unique friendly URL could not be generated, if a
899            valid parent layout ID to use could not be found, or if the
900            layout parameters were invalid
901            * @throws SystemException if a system exception occurred
902            */
903            public com.liferay.portal.model.Layout updateLayout(long groupId,
904                    boolean privateLayout, long layoutId, long parentLayoutId,
905                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
906                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
907                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
908                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
909                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
910                    java.lang.String type, boolean hidden,
911                    java.util.Map<java.util.Locale, java.lang.String> friendlyURLMap,
912                    java.lang.Boolean iconImage, byte[] iconBytes,
913                    com.liferay.portal.service.ServiceContext serviceContext)
914                    throws com.liferay.portal.kernel.exception.PortalException,
915                            com.liferay.portal.kernel.exception.SystemException;
916    
917            /**
918            * Updates the layout with additional parameters.
919            *
920            * @param groupId the primary key of the group
921            * @param privateLayout whether the layout is private to the group
922            * @param layoutId the primary key of the layout
923            * @param parentLayoutId the primary key of the layout's new parent
924            layout
925            * @param localeNamesMap the layout's locales and localized names
926            * @param localeTitlesMap the layout's locales and localized titles
927            * @param descriptionMap the locales and localized descriptions to
928            merge (optionally <code>null</code>)
929            * @param keywordsMap the locales and localized keywords to merge
930            (optionally <code>null</code>)
931            * @param robotsMap the locales and localized robots to merge
932            (optionally <code>null</code>)
933            * @param type the layout's new type (optionally {@link
934            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
935            * @param hidden whether the layout is hidden
936            * @param friendlyURL the layout's locales and new friendly URLs. To
937            see how the URL is normalized when accessed, see {@link
938            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
939            String)}.
940            * @param iconImage whether the icon image will be updated
941            * @param iconBytes the byte array of the layout's new icon image
942            * @param serviceContext the service context to be applied. Can set the
943            modification date and expando bridge attributes for the
944            layout.
945            * @return the updated layout
946            * @throws PortalException if a group or layout with the primary key
947            could not be found, if the user did not have permission to
948            update the layout, if a unique friendly URL could not be
949            generated, if a valid parent layout ID to use could not be
950            found, or if the layout parameters were invalid
951            * @throws SystemException if a system exception occurred
952            * @deprecated As of 6.2.0, replaced by {@link #updateLayout(long, boolean,
953            long, long, Map, Map, Map, Map, Map, String, boolean, Map,
954            Boolean, byte[], ServiceContext)}
955            */
956            public com.liferay.portal.model.Layout updateLayout(long groupId,
957                    boolean privateLayout, long layoutId, long parentLayoutId,
958                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
959                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
960                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
961                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
962                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
963                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
964                    java.lang.Boolean iconImage, byte[] iconBytes,
965                    com.liferay.portal.service.ServiceContext serviceContext)
966                    throws com.liferay.portal.kernel.exception.PortalException,
967                            com.liferay.portal.kernel.exception.SystemException;
968    
969            /**
970            * Updates the layout replacing its type settings.
971            *
972            * @param groupId the primary key of the group
973            * @param privateLayout whether the layout is private to the group
974            * @param layoutId the primary key of the layout
975            * @param typeSettings the settings to load the unicode properties object.
976            See {@link com.liferay.portal.kernel.util.UnicodeProperties
977            #fastLoad(String)}.
978            * @return the updated layout
979            * @throws PortalException if a matching layout could not be found or if the
980            user did not have permission to update the layout
981            * @throws SystemException if a system exception occurred
982            */
983            public com.liferay.portal.model.Layout updateLayout(long groupId,
984                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
985                    throws com.liferay.portal.kernel.exception.PortalException,
986                            com.liferay.portal.kernel.exception.SystemException;
987    
988            /**
989            * Updates the look and feel of the layout.
990            *
991            * @param groupId the primary key of the group
992            * @param privateLayout whether the layout is private to the group
993            * @param layoutId the primary key of the layout
994            * @param themeId the primary key of the layout's new theme
995            * @param colorSchemeId the primary key of the layout's new color scheme
996            * @param css the layout's new CSS
997            * @param wapTheme whether the theme is for WAP browsers
998            * @return the updated layout
999            * @throws PortalException if a matching layout could not be found, or if
1000            the user did not have permission to update the layout and
1001            permission to apply the theme
1002            * @throws SystemException if a system exception occurred
1003            */
1004            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
1005                    boolean privateLayout, long layoutId, java.lang.String themeId,
1006                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1007                    throws com.liferay.portal.kernel.exception.PortalException,
1008                            com.liferay.portal.kernel.exception.SystemException;
1009    
1010            /**
1011            * Updates the name of the layout matching the group, layout ID, and
1012            * privacy.
1013            *
1014            * @param groupId the primary key of the group
1015            * @param privateLayout whether the layout is private to the group
1016            * @param layoutId the primary key of the layout
1017            * @param name the layout's new name
1018            * @param languageId the primary key of the language. For more information
1019            see {@link java.util.Locale}.
1020            * @return the updated layout
1021            * @throws PortalException if a matching layout could not be found, if the
1022            user did not have permission to update the layout, or if the new
1023            name was <code>null</code>
1024            * @throws SystemException if a system exception occurred
1025            */
1026            public com.liferay.portal.model.Layout updateName(long groupId,
1027                    boolean privateLayout, long layoutId, java.lang.String name,
1028                    java.lang.String languageId)
1029                    throws com.liferay.portal.kernel.exception.PortalException,
1030                            com.liferay.portal.kernel.exception.SystemException;
1031    
1032            /**
1033            * Updates the name of the layout matching the primary key.
1034            *
1035            * @param plid the primary key of the layout
1036            * @param name the name to be assigned
1037            * @param languageId the primary key of the language. For more information
1038            see {@link java.util.Locale}.
1039            * @return the updated layout
1040            * @throws PortalException if a layout with the primary key could not be
1041            found, or if the user did not have permission to update the
1042            layout, or if the name was <code>null</code>
1043            * @throws SystemException if a system exception occurred
1044            */
1045            public com.liferay.portal.model.Layout updateName(long plid,
1046                    java.lang.String name, java.lang.String languageId)
1047                    throws com.liferay.portal.kernel.exception.PortalException,
1048                            com.liferay.portal.kernel.exception.SystemException;
1049    
1050            /**
1051            * Updates the parent layout ID of the layout matching the group, layout ID,
1052            * and privacy.
1053            *
1054            * @param groupId the primary key of the group
1055            * @param privateLayout whether the layout is private to the group
1056            * @param layoutId the primary key of the layout
1057            * @param parentLayoutId the primary key to be assigned to the parent
1058            layout
1059            * @return the matching layout
1060            * @throws PortalException if a valid parent layout ID to use could not be
1061            found, if a matching layout could not be found, or if the user
1062            did not have permission to update the layout
1063            * @throws SystemException if a system exception occurred
1064            */
1065            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
1066                    boolean privateLayout, long layoutId, long parentLayoutId)
1067                    throws com.liferay.portal.kernel.exception.PortalException,
1068                            com.liferay.portal.kernel.exception.SystemException;
1069    
1070            /**
1071            * Updates the parent layout ID of the layout matching the primary key. If a
1072            * layout matching the parent primary key is found, the layout ID of that
1073            * layout is assigned, otherwise {@link
1074            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
1075            * assigned.
1076            *
1077            * @param plid the primary key of the layout
1078            * @param parentPlid the primary key of the parent layout
1079            * @return the layout matching the primary key
1080            * @throws PortalException if a layout with the primary key could not be
1081            found, if the user did not have permission to update the layout,
1082            or if a valid parent layout ID to use could not be found
1083            * @throws SystemException if a system exception occurred
1084            */
1085            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
1086                    long parentPlid)
1087                    throws com.liferay.portal.kernel.exception.PortalException,
1088                            com.liferay.portal.kernel.exception.SystemException;
1089    
1090            public com.liferay.portal.model.Layout updateParentLayoutIdAndPriority(
1091                    long plid, long parentPlid, int priority)
1092                    throws com.liferay.portal.kernel.exception.PortalException,
1093                            com.liferay.portal.kernel.exception.SystemException;
1094    
1095            /**
1096            * Updates the priority of the layout matching the group, layout ID, and
1097            * privacy.
1098            *
1099            * @param groupId the primary key of the group
1100            * @param privateLayout whether the layout is private to the group
1101            * @param layoutId the primary key of the layout
1102            * @param priority the layout's new priority
1103            * @return the updated layout
1104            * @throws PortalException if a matching layout could not be found or if the
1105            user did not have permission to update the layout
1106            * @throws SystemException if a system exception occurred
1107            */
1108            public com.liferay.portal.model.Layout updatePriority(long groupId,
1109                    boolean privateLayout, long layoutId, int priority)
1110                    throws com.liferay.portal.kernel.exception.PortalException,
1111                            com.liferay.portal.kernel.exception.SystemException;
1112    
1113            /**
1114            * Updates the priority of the layout matching the group, layout ID, and
1115            * privacy, setting the layout's priority based on the priorities of the
1116            * next and previous layouts.
1117            *
1118            * @param groupId the primary key of the group
1119            * @param privateLayout whether the layout is private to the group
1120            * @param layoutId the primary key of the layout
1121            * @param nextLayoutId the primary key of the next layout
1122            * @param previousLayoutId the primary key of the previous layout
1123            * @return the updated layout
1124            * @throws PortalException if a matching layout could not be found or if the
1125            user did not have permission to update the layout
1126            * @throws SystemException if a system exception occurred
1127            */
1128            public com.liferay.portal.model.Layout updatePriority(long groupId,
1129                    boolean privateLayout, long layoutId, long nextLayoutId,
1130                    long previousLayoutId)
1131                    throws com.liferay.portal.kernel.exception.PortalException,
1132                            com.liferay.portal.kernel.exception.SystemException;
1133    
1134            /**
1135            * Updates the priority of the layout matching the primary key.
1136            *
1137            * @param plid the primary key of the layout
1138            * @param priority the layout's new priority
1139            * @return the updated layout
1140            * @throws PortalException if a layout with the primary key could not be
1141            found
1142            * @throws SystemException if a system exception occurred
1143            */
1144            public com.liferay.portal.model.Layout updatePriority(long plid,
1145                    int priority)
1146                    throws com.liferay.portal.kernel.exception.PortalException,
1147                            com.liferay.portal.kernel.exception.SystemException;
1148    
1149            public com.liferay.portal.kernel.lar.MissingReferences validateImportLayoutsFile(
1150                    long groupId, boolean privateLayout,
1151                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1152                    java.io.File file)
1153                    throws com.liferay.portal.kernel.exception.PortalException,
1154                            com.liferay.portal.kernel.exception.SystemException;
1155    
1156            public com.liferay.portal.kernel.lar.MissingReferences validateImportLayoutsFile(
1157                    long groupId, boolean privateLayout,
1158                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1159                    java.io.InputStream inputStream)
1160                    throws com.liferay.portal.kernel.exception.PortalException,
1161                            com.liferay.portal.kernel.exception.SystemException;
1162    
1163            public com.liferay.portal.kernel.lar.MissingReferences validateImportPortletInfo(
1164                    long plid, long groupId, java.lang.String portletId,
1165                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1166                    java.io.File file)
1167                    throws com.liferay.portal.kernel.exception.PortalException,
1168                            com.liferay.portal.kernel.exception.SystemException;
1169    
1170            public com.liferay.portal.kernel.lar.MissingReferences validateImportPortletInfo(
1171                    long plid, long groupId, java.lang.String portletId,
1172                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1173                    java.io.InputStream inputStream)
1174                    throws com.liferay.portal.kernel.exception.PortalException,
1175                            com.liferay.portal.kernel.exception.SystemException;
1176    }