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