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.PortalException,
551                            com.liferay.portal.kernel.exception.SystemException;
552    
553            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
554            public int getLayoutsCount(long groupId, boolean privateLayout,
555                    long parentLayoutId)
556                    throws com.liferay.portal.kernel.exception.SystemException;
557    
558            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
559            public java.lang.String[] getTempFileEntryNames(long groupId,
560                    java.lang.String tempFolderName)
561                    throws com.liferay.portal.kernel.exception.PortalException,
562                            com.liferay.portal.kernel.exception.SystemException;
563    
564            /**
565            * Imports the layouts from the byte array.
566            *
567            * @param groupId the primary key of the group
568            * @param privateLayout whether the layout is private to the group
569            * @param parameterMap the mapping of parameters indicating which
570            information will be imported. For information on the keys used in
571            the map see {@link
572            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
573            * @param bytes the byte array with the data
574            * @throws PortalException if a group with the primary key could not be
575            found, if the group did not have permission to manage the
576            layouts, or if some other portal exception occurred
577            * @throws SystemException if a system exception occurred
578            * @see com.liferay.portal.lar.LayoutImporter
579            */
580            public void importLayouts(long groupId, boolean privateLayout,
581                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
582                    byte[] bytes)
583                    throws com.liferay.portal.kernel.exception.PortalException,
584                            com.liferay.portal.kernel.exception.SystemException;
585    
586            /**
587            * Imports the layouts from the file.
588            *
589            * @param groupId the primary key of the group
590            * @param privateLayout whether the layout is private to the group
591            * @param parameterMap the mapping of parameters indicating which
592            information will be imported. For information on the keys used in
593            the map see {@link
594            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
595            * @param file the LAR file with the data
596            * @throws PortalException if a group with the primary key could not be
597            found, if the group did not have permission to manage the layouts
598            and publish, or if some other portal exception occurred
599            * @throws SystemException if a system exception occurred
600            * @see com.liferay.portal.lar.LayoutImporter
601            */
602            public void importLayouts(long groupId, boolean privateLayout,
603                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
604                    java.io.File file)
605                    throws com.liferay.portal.kernel.exception.PortalException,
606                            com.liferay.portal.kernel.exception.SystemException;
607    
608            /**
609            * Imports the layouts from the input stream.
610            *
611            * @param groupId the primary key of the group
612            * @param privateLayout whether the layout is private to the group
613            * @param parameterMap the mapping of parameters indicating which
614            information will be imported. For information on the keys used in
615            the map see {@link
616            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
617            * @param is the input stream
618            * @throws PortalException if a group with the primary key could not be
619            found, if the group did not have permission to manage the
620            layouts, or if some other portal exception occurred
621            * @throws SystemException if a system exception occurred
622            * @see com.liferay.portal.lar.LayoutImporter
623            */
624            public void importLayouts(long groupId, boolean privateLayout,
625                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
626                    java.io.InputStream is)
627                    throws com.liferay.portal.kernel.exception.PortalException,
628                            com.liferay.portal.kernel.exception.SystemException;
629    
630            public long importLayoutsInBackground(java.lang.String taskName,
631                    long groupId, boolean privateLayout,
632                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
633                    java.io.File file)
634                    throws com.liferay.portal.kernel.exception.PortalException,
635                            com.liferay.portal.kernel.exception.SystemException;
636    
637            public long importLayoutsInBackground(java.lang.String taskName,
638                    long groupId, boolean privateLayout,
639                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
640                    java.io.InputStream inputStream)
641                    throws com.liferay.portal.kernel.exception.PortalException,
642                            com.liferay.portal.kernel.exception.SystemException;
643    
644            /**
645            * Imports the portlet information (categories, permissions, ... etc.) from
646            * the file.
647            *
648            * @param plid the primary key of the layout
649            * @param groupId the primary key of the group
650            * @param portletId the primary key of the portlet
651            * @param parameterMap the mapping of parameters indicating which
652            information will be imported. For information on the keys used in
653            the map see {@link
654            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
655            * @param file the LAR file with the data
656            * @throws PortalException if a group, layout, or portlet with the primary
657            key could not be found, or if the group did not have permission
658            to manage the layouts
659            * @throws SystemException if a system exception occurred
660            */
661            public void importPortletInfo(long plid, long groupId,
662                    java.lang.String portletId,
663                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
664                    java.io.File file)
665                    throws com.liferay.portal.kernel.exception.PortalException,
666                            com.liferay.portal.kernel.exception.SystemException;
667    
668            /**
669            * Imports the portlet information (categories, permissions, ... etc.) from
670            * the input stream.
671            *
672            * @param plid the primary key of the layout
673            * @param groupId the primary key of the group
674            * @param portletId the primary key of the portlet
675            * @param parameterMap the mapping of parameters indicating which
676            information will be imported. For information on the keys used in
677            the map see {@link
678            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
679            * @param is the input stream
680            * @throws PortalException if a group, portlet, or layout with the primary
681            key could not be found or if the group did not have permission to
682            manage the layouts
683            * @throws SystemException if a system exception occurred
684            */
685            public void importPortletInfo(long plid, long groupId,
686                    java.lang.String portletId,
687                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
688                    java.io.InputStream is)
689                    throws com.liferay.portal.kernel.exception.PortalException,
690                            com.liferay.portal.kernel.exception.SystemException;
691    
692            public void importPortletInfo(java.lang.String portletId,
693                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
694                    java.io.File file)
695                    throws com.liferay.portal.kernel.exception.PortalException,
696                            com.liferay.portal.kernel.exception.SystemException;
697    
698            public void importPortletInfo(java.lang.String portletId,
699                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
700                    java.io.InputStream is)
701                    throws com.liferay.portal.kernel.exception.PortalException,
702                            com.liferay.portal.kernel.exception.SystemException;
703    
704            public long importPortletInfoInBackground(java.lang.String taskName,
705                    long plid, long groupId, java.lang.String portletId,
706                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
707                    java.io.File file)
708                    throws com.liferay.portal.kernel.exception.PortalException,
709                            com.liferay.portal.kernel.exception.SystemException;
710    
711            public long importPortletInfoInBackground(java.lang.String taskName,
712                    long plid, long groupId, java.lang.String portletId,
713                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
714                    java.io.InputStream is)
715                    throws com.liferay.portal.kernel.exception.PortalException,
716                            com.liferay.portal.kernel.exception.SystemException;
717    
718            public void importPortletInfoInBackground(java.lang.String taskName,
719                    java.lang.String portletId,
720                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
721                    java.io.File file)
722                    throws com.liferay.portal.kernel.exception.PortalException,
723                            com.liferay.portal.kernel.exception.SystemException;
724    
725            public void importPortletInfoInBackground(java.lang.String taskName,
726                    java.lang.String portletId,
727                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
728                    java.io.InputStream is)
729                    throws com.liferay.portal.kernel.exception.PortalException,
730                            com.liferay.portal.kernel.exception.SystemException;
731    
732            /**
733            * Schedules a range of layouts to be published.
734            *
735            * @param sourceGroupId the primary key of the source group
736            * @param targetGroupId the primary key of the target group
737            * @param privateLayout whether the layout is private to the group
738            * @param layoutIdMap the layouts considered for publishing, specified by
739            the layout IDs and booleans indicating whether they have children
740            * @param parameterMap the mapping of parameters indicating which
741            information will be used. See {@link
742            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
743            * @param scope the scope of the pages. It can be <code>all-pages</code> or
744            <code>selected-pages</code>.
745            * @param startDate the start date
746            * @param endDate the end date
747            * @param groupName the group name (optionally {@link
748            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
749            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
750            * @param cronText the cron text. See {@link
751            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
752            * @param schedulerStartDate the scheduler start date
753            * @param schedulerEndDate the scheduler end date
754            * @param description the scheduler description
755            * @throws PortalException if the group did not have permission to manage
756            and publish
757            * @throws SystemException if a system exception occurred
758            */
759            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
760                    boolean privateLayout,
761                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
762                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
763                    java.lang.String scope, java.util.Date startDate,
764                    java.util.Date endDate, java.lang.String groupName,
765                    java.lang.String cronText, java.util.Date schedulerStartDate,
766                    java.util.Date schedulerEndDate, java.lang.String description)
767                    throws com.liferay.portal.kernel.exception.PortalException,
768                            com.liferay.portal.kernel.exception.SystemException;
769    
770            /**
771            * Schedules a range of layouts to be stored.
772            *
773            * @param sourceGroupId the primary key of the source group
774            * @param privateLayout whether the layout is private to the group
775            * @param layoutIdMap the layouts considered for publishing, specified by
776            the layout IDs and booleans indicating whether they have children
777            * @param parameterMap the mapping of parameters indicating which
778            information will be used. See {@link
779            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
780            * @param remoteAddress the remote address
781            * @param remotePort the remote port
782            * @param remotePathContext the remote path context
783            * @param secureConnection whether the connection is secure
784            * @param remoteGroupId the primary key of the remote group
785            * @param remotePrivateLayout whether remote group's layout is private
786            * @param startDate the start date
787            * @param endDate the end date
788            * @param groupName the group name. Optionally {@link
789            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
790            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
791            * @param cronText the cron text. See {@link
792            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
793            * @param schedulerStartDate the scheduler start date
794            * @param schedulerEndDate the scheduler end date
795            * @param description the scheduler description
796            * @throws PortalException if a group with the source group primary key was
797            not found or if the group did not have permission to publish
798            * @throws SystemException if a system exception occurred
799            */
800            public void schedulePublishToRemote(long sourceGroupId,
801                    boolean privateLayout,
802                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
803                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
804                    java.lang.String remoteAddress, int remotePort,
805                    java.lang.String remotePathContext, boolean secureConnection,
806                    long remoteGroupId, boolean remotePrivateLayout,
807                    java.util.Date startDate, java.util.Date endDate,
808                    java.lang.String groupName, java.lang.String cronText,
809                    java.util.Date schedulerStartDate, java.util.Date schedulerEndDate,
810                    java.lang.String description)
811                    throws com.liferay.portal.kernel.exception.PortalException,
812                            com.liferay.portal.kernel.exception.SystemException;
813    
814            /**
815            * Sets the layouts for the group, replacing and prioritizing all layouts of
816            * the parent layout.
817            *
818            * @param groupId the primary key of the group
819            * @param privateLayout whether the layout is private to the group
820            * @param parentLayoutId the primary key of the parent layout
821            * @param layoutIds the primary keys of the layouts
822            * @param serviceContext the service context to be applied
823            * @throws PortalException if a group or layout with the primary key could
824            not be found, if the group did not have permission to manage the
825            layouts, if no layouts were specified, if the first layout was
826            not page-able, if the first layout was hidden, or if some other
827            portal exception occurred
828            * @throws SystemException if a system exception occurred
829            */
830            public void setLayouts(long groupId, boolean privateLayout,
831                    long parentLayoutId, long[] layoutIds,
832                    com.liferay.portal.service.ServiceContext serviceContext)
833                    throws com.liferay.portal.kernel.exception.PortalException,
834                            com.liferay.portal.kernel.exception.SystemException;
835    
836            /**
837            * Deletes the job from the scheduler's queue.
838            *
839            * @param groupId the primary key of the group
840            * @param jobName the job name
841            * @param groupName the group name (optionally {@link
842            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
843            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
844            * @throws PortalException if the group did not permission to manage staging
845            and publish
846            * @throws SystemException if a system exception occurred
847            */
848            public void unschedulePublishToLive(long groupId, java.lang.String jobName,
849                    java.lang.String groupName)
850                    throws com.liferay.portal.kernel.exception.PortalException,
851                            com.liferay.portal.kernel.exception.SystemException;
852    
853            /**
854            * Deletes the job from the scheduler's persistent queue.
855            *
856            * @param groupId the primary key of the group
857            * @param jobName the job name
858            * @param groupName the group name (optionally {@link
859            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
860            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
861            * @throws PortalException if a group with the primary key could not be
862            found or if the group did not have permission to publish
863            * @throws SystemException if a system exception occurred
864            */
865            public void unschedulePublishToRemote(long groupId,
866                    java.lang.String jobName, java.lang.String groupName)
867                    throws com.liferay.portal.kernel.exception.PortalException,
868                            com.liferay.portal.kernel.exception.SystemException;
869    
870            /**
871            * Updates the layout with additional parameters.
872            *
873            * @param groupId the primary key of the group
874            * @param privateLayout whether the layout is private to the group
875            * @param layoutId the primary key of the layout
876            * @param parentLayoutId the primary key of the layout's new parent layout
877            * @param localeNamesMap the layout's locales and localized names
878            * @param localeTitlesMap the layout's locales and localized titles
879            * @param descriptionMap the locales and localized descriptions to merge
880            (optionally <code>null</code>)
881            * @param keywordsMap the locales and localized keywords to merge
882            (optionally <code>null</code>)
883            * @param robotsMap the locales and localized robots to merge (optionally
884            <code>null</code>)
885            * @param type the layout's new type (optionally {@link
886            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
887            * @param hidden whether the layout is hidden
888            * @param friendlyURLMap the layout's locales and localized friendly URLs.
889            To see how the URL is normalized when accessed see {@link
890            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
891            String)}.
892            * @param iconImage whether the icon image will be updated
893            * @param iconBytes the byte array of the layout's new icon image
894            * @param serviceContext the service context to be applied. Can set the
895            modification date and expando bridge attributes for the layout.
896            * @return the updated layout
897            * @throws PortalException if a group or layout with the primary key could
898            not be found, if the user did not have permission to update the
899            layout, if a unique friendly URL could not be generated, if a
900            valid parent layout ID to use could not be found, or if the
901            layout parameters were invalid
902            * @throws SystemException if a system exception occurred
903            */
904            public com.liferay.portal.model.Layout updateLayout(long groupId,
905                    boolean privateLayout, long layoutId, long parentLayoutId,
906                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
907                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
908                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
909                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
910                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
911                    java.lang.String type, boolean hidden,
912                    java.util.Map<java.util.Locale, java.lang.String> friendlyURLMap,
913                    java.lang.Boolean iconImage, byte[] iconBytes,
914                    com.liferay.portal.service.ServiceContext serviceContext)
915                    throws com.liferay.portal.kernel.exception.PortalException,
916                            com.liferay.portal.kernel.exception.SystemException;
917    
918            /**
919            * Updates the layout with additional parameters.
920            *
921            * @param groupId the primary key of the group
922            * @param privateLayout whether the layout is private to the group
923            * @param layoutId the primary key of the layout
924            * @param parentLayoutId the primary key of the layout's new parent
925            layout
926            * @param localeNamesMap the layout's locales and localized names
927            * @param localeTitlesMap the layout's locales and localized titles
928            * @param descriptionMap the locales and localized descriptions to
929            merge (optionally <code>null</code>)
930            * @param keywordsMap the locales and localized keywords to merge
931            (optionally <code>null</code>)
932            * @param robotsMap the locales and localized robots to merge
933            (optionally <code>null</code>)
934            * @param type the layout's new type (optionally {@link
935            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
936            * @param hidden whether the layout is hidden
937            * @param friendlyURL the layout's locales and new friendly URLs. To
938            see how the URL is normalized when accessed, see {@link
939            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
940            String)}.
941            * @param iconImage whether the icon image will be updated
942            * @param iconBytes the byte array of the layout's new icon image
943            * @param serviceContext the service context to be applied. Can set the
944            modification date and expando bridge attributes for the
945            layout.
946            * @return the updated layout
947            * @throws PortalException if a group or layout with the primary key
948            could not be found, if the user did not have permission to
949            update the layout, if a unique friendly URL could not be
950            generated, if a valid parent layout ID to use could not be
951            found, or if the layout parameters were invalid
952            * @throws SystemException if a system exception occurred
953            * @deprecated As of 6.2.0, replaced by {@link #updateLayout(long, boolean,
954            long, long, Map, Map, Map, Map, Map, String, boolean, Map,
955            Boolean, byte[], ServiceContext)}
956            */
957            public com.liferay.portal.model.Layout updateLayout(long groupId,
958                    boolean privateLayout, long layoutId, long parentLayoutId,
959                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
960                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
961                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
962                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
963                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
964                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
965                    java.lang.Boolean iconImage, byte[] iconBytes,
966                    com.liferay.portal.service.ServiceContext serviceContext)
967                    throws com.liferay.portal.kernel.exception.PortalException,
968                            com.liferay.portal.kernel.exception.SystemException;
969    
970            /**
971            * Updates the layout replacing its type settings.
972            *
973            * @param groupId the primary key of the group
974            * @param privateLayout whether the layout is private to the group
975            * @param layoutId the primary key of the layout
976            * @param typeSettings the settings to load the unicode properties object.
977            See {@link com.liferay.portal.kernel.util.UnicodeProperties
978            #fastLoad(String)}.
979            * @return the updated layout
980            * @throws PortalException if a matching layout could not be found or if the
981            user did not have permission to update the layout
982            * @throws SystemException if a system exception occurred
983            */
984            public com.liferay.portal.model.Layout updateLayout(long groupId,
985                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
986                    throws com.liferay.portal.kernel.exception.PortalException,
987                            com.liferay.portal.kernel.exception.SystemException;
988    
989            /**
990            * Updates the look and feel of the layout.
991            *
992            * @param groupId the primary key of the group
993            * @param privateLayout whether the layout is private to the group
994            * @param layoutId the primary key of the layout
995            * @param themeId the primary key of the layout's new theme
996            * @param colorSchemeId the primary key of the layout's new color scheme
997            * @param css the layout's new CSS
998            * @param wapTheme whether the theme is for WAP browsers
999            * @return the updated layout
1000            * @throws PortalException if a matching layout could not be found, or if
1001            the user did not have permission to update the layout and
1002            permission to apply the theme
1003            * @throws SystemException if a system exception occurred
1004            */
1005            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
1006                    boolean privateLayout, long layoutId, java.lang.String themeId,
1007                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1008                    throws com.liferay.portal.kernel.exception.PortalException,
1009                            com.liferay.portal.kernel.exception.SystemException;
1010    
1011            /**
1012            * Updates the name of the layout matching the group, layout ID, and
1013            * privacy.
1014            *
1015            * @param groupId the primary key of the group
1016            * @param privateLayout whether the layout is private to the group
1017            * @param layoutId the primary key of the layout
1018            * @param name the layout's new name
1019            * @param languageId the primary key of the language. For more information
1020            see {@link java.util.Locale}.
1021            * @return the updated layout
1022            * @throws PortalException if a matching layout could not be found, if the
1023            user did not have permission to update the layout, or if the new
1024            name was <code>null</code>
1025            * @throws SystemException if a system exception occurred
1026            */
1027            public com.liferay.portal.model.Layout updateName(long groupId,
1028                    boolean privateLayout, long layoutId, java.lang.String name,
1029                    java.lang.String languageId)
1030                    throws com.liferay.portal.kernel.exception.PortalException,
1031                            com.liferay.portal.kernel.exception.SystemException;
1032    
1033            /**
1034            * Updates the name of the layout matching the primary key.
1035            *
1036            * @param plid the primary key of the layout
1037            * @param name the name to be assigned
1038            * @param languageId the primary key of the language. For more information
1039            see {@link java.util.Locale}.
1040            * @return the updated layout
1041            * @throws PortalException if a layout with the primary key could not be
1042            found, or if the user did not have permission to update the
1043            layout, or if the name was <code>null</code>
1044            * @throws SystemException if a system exception occurred
1045            */
1046            public com.liferay.portal.model.Layout updateName(long plid,
1047                    java.lang.String name, java.lang.String languageId)
1048                    throws com.liferay.portal.kernel.exception.PortalException,
1049                            com.liferay.portal.kernel.exception.SystemException;
1050    
1051            /**
1052            * Updates the parent layout ID of the layout matching the group, layout ID,
1053            * and privacy.
1054            *
1055            * @param groupId the primary key of the group
1056            * @param privateLayout whether the layout is private to the group
1057            * @param layoutId the primary key of the layout
1058            * @param parentLayoutId the primary key to be assigned to the parent
1059            layout
1060            * @return the matching layout
1061            * @throws PortalException if a valid parent layout ID to use could not be
1062            found, if a matching layout could not be found, or if the user
1063            did not have permission to update the layout
1064            * @throws SystemException if a system exception occurred
1065            */
1066            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
1067                    boolean privateLayout, long layoutId, long parentLayoutId)
1068                    throws com.liferay.portal.kernel.exception.PortalException,
1069                            com.liferay.portal.kernel.exception.SystemException;
1070    
1071            /**
1072            * Updates the parent layout ID of the layout matching the primary key. If a
1073            * layout matching the parent primary key is found, the layout ID of that
1074            * layout is assigned, otherwise {@link
1075            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
1076            * assigned.
1077            *
1078            * @param plid the primary key of the layout
1079            * @param parentPlid the primary key of the parent layout
1080            * @return the layout matching the primary key
1081            * @throws PortalException if a layout with the primary key could not be
1082            found, if the user did not have permission to update the layout,
1083            or if a valid parent layout ID to use could not be found
1084            * @throws SystemException if a system exception occurred
1085            */
1086            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
1087                    long parentPlid)
1088                    throws com.liferay.portal.kernel.exception.PortalException,
1089                            com.liferay.portal.kernel.exception.SystemException;
1090    
1091            public com.liferay.portal.model.Layout updateParentLayoutIdAndPriority(
1092                    long plid, long parentPlid, int priority)
1093                    throws com.liferay.portal.kernel.exception.PortalException,
1094                            com.liferay.portal.kernel.exception.SystemException;
1095    
1096            /**
1097            * Updates the priority of the layout matching the group, layout ID, and
1098            * privacy.
1099            *
1100            * @param groupId the primary key of the group
1101            * @param privateLayout whether the layout is private to the group
1102            * @param layoutId the primary key of the layout
1103            * @param priority the layout's new priority
1104            * @return the updated layout
1105            * @throws PortalException if a matching layout could not be found or if the
1106            user did not have permission to update the layout
1107            * @throws SystemException if a system exception occurred
1108            */
1109            public com.liferay.portal.model.Layout updatePriority(long groupId,
1110                    boolean privateLayout, long layoutId, int priority)
1111                    throws com.liferay.portal.kernel.exception.PortalException,
1112                            com.liferay.portal.kernel.exception.SystemException;
1113    
1114            /**
1115            * Updates the priority of the layout matching the group, layout ID, and
1116            * privacy, setting the layout's priority based on the priorities of the
1117            * next and previous layouts.
1118            *
1119            * @param groupId the primary key of the group
1120            * @param privateLayout whether the layout is private to the group
1121            * @param layoutId the primary key of the layout
1122            * @param nextLayoutId the primary key of the next layout
1123            * @param previousLayoutId the primary key of the previous layout
1124            * @return the updated layout
1125            * @throws PortalException if a matching layout could not be found or if the
1126            user did not have permission to update the layout
1127            * @throws SystemException if a system exception occurred
1128            */
1129            public com.liferay.portal.model.Layout updatePriority(long groupId,
1130                    boolean privateLayout, long layoutId, long nextLayoutId,
1131                    long previousLayoutId)
1132                    throws com.liferay.portal.kernel.exception.PortalException,
1133                            com.liferay.portal.kernel.exception.SystemException;
1134    
1135            /**
1136            * Updates the priority of the layout matching the primary key.
1137            *
1138            * @param plid the primary key of the layout
1139            * @param priority the layout's new priority
1140            * @return the updated layout
1141            * @throws PortalException if a layout with the primary key could not be
1142            found
1143            * @throws SystemException if a system exception occurred
1144            */
1145            public com.liferay.portal.model.Layout updatePriority(long plid,
1146                    int priority)
1147                    throws com.liferay.portal.kernel.exception.PortalException,
1148                            com.liferay.portal.kernel.exception.SystemException;
1149    
1150            public com.liferay.portal.kernel.lar.MissingReferences validateImportLayoutsFile(
1151                    long groupId, boolean privateLayout,
1152                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1153                    java.io.File file)
1154                    throws com.liferay.portal.kernel.exception.PortalException,
1155                            com.liferay.portal.kernel.exception.SystemException;
1156    
1157            public com.liferay.portal.kernel.lar.MissingReferences validateImportLayoutsFile(
1158                    long groupId, boolean privateLayout,
1159                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1160                    java.io.InputStream inputStream)
1161                    throws com.liferay.portal.kernel.exception.PortalException,
1162                            com.liferay.portal.kernel.exception.SystemException;
1163    
1164            public com.liferay.portal.kernel.lar.MissingReferences validateImportPortletInfo(
1165                    long plid, long groupId, java.lang.String portletId,
1166                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1167                    java.io.File file)
1168                    throws com.liferay.portal.kernel.exception.PortalException,
1169                            com.liferay.portal.kernel.exception.SystemException;
1170    
1171            public com.liferay.portal.kernel.lar.MissingReferences validateImportPortletInfo(
1172                    long plid, long groupId, java.lang.String portletId,
1173                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
1174                    java.io.InputStream inputStream)
1175                    throws com.liferay.portal.kernel.exception.PortalException,
1176                            com.liferay.portal.kernel.exception.SystemException;
1177    }