001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portal.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
020    import com.liferay.portal.kernel.transaction.Isolation;
021    import com.liferay.portal.kernel.transaction.Propagation;
022    import com.liferay.portal.kernel.transaction.Transactional;
023    
024    /**
025     * The interface for the layout remote service.
026     *
027     * <p>
028     * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
029     * </p>
030     *
031     * @author Brian Wing Shun Chan
032     * @see LayoutServiceUtil
033     * @see com.liferay.portal.service.base.LayoutServiceBaseImpl
034     * @see com.liferay.portal.service.impl.LayoutServiceImpl
035     * @generated
036     */
037    @JSONWebService
038    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
039            PortalException.class, SystemException.class})
040    public interface LayoutService extends BaseService {
041            /*
042             * NOTE FOR DEVELOPERS:
043             *
044             * 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.
045             */
046    
047            /**
048            * Returns the Spring bean ID for this bean.
049            *
050            * @return the Spring bean ID for this bean
051            */
052            public java.lang.String getBeanIdentifier();
053    
054            /**
055            * Sets the Spring bean ID for this bean.
056            *
057            * @param beanIdentifier the Spring bean ID for this bean
058            */
059            public void setBeanIdentifier(java.lang.String beanIdentifier);
060    
061            /**
062            * Adds a layout with additional parameters.
063            *
064            * <p>
065            * This method handles the creation of the layout including its resources,
066            * metadata, and internal data structures. It is not necessary to make
067            * subsequent calls to any methods to setup default groups, resources, ...
068            * etc.
069            * </p>
070            *
071            * @param groupId the primary key of the group
072            * @param privateLayout whether the layout is private to the group
073            * @param parentLayoutId the primary key of the parent layout (optionally
074            {@link
075            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
076            * @param localeNamesMap the layout's locales and localized names
077            * @param localeTitlesMap the layout's locales and localized titles
078            * @param descriptionMap the layout's locales and localized descriptions
079            * @param keywordsMap the layout's locales and localized keywords
080            * @param robotsMap the layout's locales and localized robots
081            * @param type the layout's type (optionally {@link
082            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
083            possible types can be found in {@link
084            com.liferay.portal.model.LayoutConstants}.
085            * @param hidden whether the layout is hidden
086            * @param friendlyURL the layout's friendly URL (optionally {@link
087            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
088            or {@link
089            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
090            The default values can be overridden in
091            <code>portal-ext.properties</code> by specifying new values for
092            the corresponding properties defined in {@link
093            com.liferay.portal.util.PropsValues}. To see how the URL is
094            normalized when accessed see {@link
095            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
096            String)}.
097            * @param serviceContext the service context. Must set the universally
098            unique identifier (UUID) for the layout. Can set the creation
099            date, modification date and the expando bridge attributes for the
100            layout. For layouts that belong to a layout set prototype, an
101            attribute named 'layoutUpdateable' can be used to specify whether
102            site administrators can modify this page within their site.
103            * @return the layout
104            * @throws PortalException if a group with the primary key could not be
105            found, if the group did not have permission to manage the layouts
106            involved, or if layout values were invalid
107            * @throws SystemException if a system exception occurred
108            */
109            public com.liferay.portal.model.Layout addLayout(long groupId,
110                    boolean privateLayout, long parentLayoutId,
111                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
112                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
113                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
114                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
115                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
116                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
117                    com.liferay.portal.service.ServiceContext serviceContext)
118                    throws com.liferay.portal.kernel.exception.PortalException,
119                            com.liferay.portal.kernel.exception.SystemException;
120    
121            /**
122            * Adds a layout with empty maps for descriptions, keywords, and titles ,
123            * and a names map containing a mapping for the default locale as its only
124            * entry.
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 name Map the layout's locales and localized names
139            * @param title Map the layout's locales and localized titles
140            * @param description Map the layout's locales and localized descriptions
141            * @param type the layout's type (optionally {@link
142            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
143            possible types can be found in {@link
144            com.liferay.portal.model.LayoutConstants}.
145            * @param hidden whether the layout is hidden
146            * @param friendlyURL the layout's friendly URL (optionally {@link
147            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
148            or {@link
149            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
150            The default values can be overridden in
151            <code>portal-ext.properties</code> by specifying new values for
152            the corresponding properties defined in {@link
153            com.liferay.portal.util.PropsValues}. To see how the URL is
154            normalized when accessed see {@link
155            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
156            String)}.
157            * @param serviceContext the service context. Must set the universally
158            unique identifier (UUID) for the layout. Can specify the creation
159            date, modification date and the expando bridge attributes for the
160            layout. For layouts that belong to a layout set prototype, an
161            attribute named 'layoutUpdateable' can be used to specify whether
162            site administrators can modify this page within their site.
163            * @return the layout
164            * @throws PortalException if a group with the primary key could not be
165            found, if the group did not have permission to manage the layouts
166            involved, or if layout values were invalid
167            * @throws SystemException if a system exception occurred
168            */
169            public com.liferay.portal.model.Layout addLayout(long groupId,
170                    boolean privateLayout, long parentLayoutId, java.lang.String name,
171                    java.lang.String title, java.lang.String description,
172                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
173                    com.liferay.portal.service.ServiceContext serviceContext)
174                    throws com.liferay.portal.kernel.exception.PortalException,
175                            com.liferay.portal.kernel.exception.SystemException;
176    
177            /**
178            * Deletes the layout with the primary key, also deleting the layout's child
179            * layouts, and associated resources.
180            *
181            * @param groupId the primary key of the group
182            * @param privateLayout whether the layout is private to the group
183            * @param layoutId the primary key of the layout
184            * @param serviceContext the service context
185            * @throws PortalException if the user did not have permission to delete the
186            layout, if a matching layout could not be found , or if some
187            other portal exception occurred
188            * @throws SystemException if a system exception occurred
189            */
190            public void deleteLayout(long groupId, boolean privateLayout,
191                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
192                    throws com.liferay.portal.kernel.exception.PortalException,
193                            com.liferay.portal.kernel.exception.SystemException;
194    
195            /**
196            * Deletes the layout with the plid, also deleting the layout's child
197            * layouts, and associated resources.
198            *
199            * @param plid the primary key of the layout
200            * @param serviceContext the service context
201            * @throws PortalException if the user did not have permission to delete the
202            layout, if a layout with the primary key could not be found , or
203            if some other portal exception occurred
204            * @throws SystemException if a system exception occurred
205            */
206            public void deleteLayout(long plid,
207                    com.liferay.portal.service.ServiceContext serviceContext)
208                    throws com.liferay.portal.kernel.exception.PortalException,
209                            com.liferay.portal.kernel.exception.SystemException;
210    
211            /**
212            * Exports the layouts that match the primary keys and the criteria as a
213            * byte array.
214            *
215            * @param groupId the primary key of the group
216            * @param privateLayout whether the layout is private to the group
217            * @param layoutIds the primary keys of the layouts to be exported
218            * @param parameterMap the mapping of parameters indicating which
219            information to export. For information on the keys used in the
220            map see {@link
221            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
222            * @param startDate the export's start date
223            * @param endDate the export's end date
224            * @return the layouts as a byte array
225            * @throws PortalException if a group or any layout with the primary key
226            could not be found, if the group did not have permission to
227            manage the layouts, or if some other portal exception occurred
228            * @throws SystemException if a system exception occurred
229            */
230            public byte[] exportLayouts(long groupId, boolean privateLayout,
231                    long[] layoutIds,
232                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
233                    java.util.Date startDate, java.util.Date endDate)
234                    throws com.liferay.portal.kernel.exception.PortalException,
235                            com.liferay.portal.kernel.exception.SystemException;
236    
237            /**
238            * Exports all layouts that match the criteria as a byte array.
239            *
240            * @param groupId the primary key of the group
241            * @param privateLayout whether the layout is private to the group
242            * @param parameterMap the mapping of parameters indicating which
243            information to export. For information on the keys used in the
244            map see {@link
245            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
246            * @param startDate the export's start date
247            * @param endDate the export's end date
248            * @return the layout as a byte array
249            * @throws PortalException if a group with the primary key could not be
250            found, if the group did not have permission to manage the
251            layouts, or if some other portal exception occurred
252            * @throws SystemException if a system exception occurred
253            */
254            public byte[] exportLayouts(long groupId, boolean privateLayout,
255                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
256                    java.util.Date startDate, java.util.Date endDate)
257                    throws com.liferay.portal.kernel.exception.PortalException,
258                            com.liferay.portal.kernel.exception.SystemException;
259    
260            /**
261            * Exports all layouts that match the primary keys and criteria as a file.
262            *
263            * @param groupId the primary key of the group
264            * @param privateLayout whether the layout is private to the group
265            * @param layoutIds the primary keys of the layouts to be exported
266            (optionally <code>null</code>)
267            * @param parameterMap the mapping of parameters indicating which
268            information to export. For information on the keys used in the
269            map see {@link
270            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
271            * @param startDate the export's start date
272            * @param endDate the export's end date
273            * @return the layouts as a File
274            * @throws PortalException if a group or any layout with the primary key
275            could not be found, it the group did not have permission to
276            manage the layouts, or if some other portal exception occurred
277            * @throws SystemException if a system exception occurred
278            */
279            public java.io.File exportLayoutsAsFile(long groupId,
280                    boolean privateLayout, long[] layoutIds,
281                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
282                    java.util.Date startDate, java.util.Date endDate)
283                    throws com.liferay.portal.kernel.exception.PortalException,
284                            com.liferay.portal.kernel.exception.SystemException;
285    
286            /**
287            * Exports the portlet information (categories, permissions, ... etc.) as a
288            * byte array.
289            *
290            * @param plid the primary key of the layout
291            * @param groupId the primary key of the group
292            * @param portletId the primary key of the portlet
293            * @param parameterMap the mapping of parameters indicating which
294            information to export. For information on the keys used in the
295            map see {@link
296            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
297            * @param startDate the export's start date
298            * @param endDate the export's end date
299            * @return the portlet information as a byte array
300            * @throws PortalException if a layout, group, or portlet with the primary
301            key could not be found, if the group did not have permission to
302            manage the layouts involved, or if some other portal exception
303            occurred
304            * @throws SystemException if a system exception occurred
305            */
306            public byte[] exportPortletInfo(long plid, long groupId,
307                    java.lang.String portletId,
308                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
309                    java.util.Date startDate, java.util.Date endDate)
310                    throws com.liferay.portal.kernel.exception.PortalException,
311                            com.liferay.portal.kernel.exception.SystemException;
312    
313            /**
314            * Exports the portlet information (categories, permissions, ... etc.) as a
315            * file.
316            *
317            * @param plid the primary key of the layout
318            * @param groupId the primary key of the group
319            * @param portletId the primary key of the portlet
320            * @param parameterMap the mapping of parameters indicating which
321            information to export. For information on the keys used in the
322            map see {@link
323            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
324            * @param startDate the export's start date
325            * @param endDate the export's end date
326            * @return the portlet information as a file
327            * @throws PortalException if a layout, group, or portlet with the primary
328            key could not be found, it the group did not have permission to
329            manage the layouts involved, or if some other portal exception
330            occurred
331            * @throws SystemException if a system exception occurred
332            */
333            public java.io.File exportPortletInfoAsFile(long plid, long groupId,
334                    java.lang.String portletId,
335                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
336                    java.util.Date startDate, java.util.Date endDate)
337                    throws com.liferay.portal.kernel.exception.PortalException,
338                            com.liferay.portal.kernel.exception.SystemException;
339    
340            /**
341            * Returns the primary key of the default layout for the group.
342            *
343            * @param groupId the primary key of the group
344            * @param scopeGroupId the primary key of the scope group. See {@link
345            ServiceContext#getScopeGroupId()}.
346            * @param privateLayout whether the layout is private to the group
347            * @param portletId the primary key of the portlet
348            * @return Returns the primary key of the default layout group; {@link
349            com.liferay.portal.model.LayoutConstants#DEFAULT_PLID} otherwise
350            * @throws PortalException if a group, layout, or portlet with the primary
351            key could not be found
352            * @throws SystemException if a system exception occurred
353            */
354            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
355            public long getDefaultPlid(long groupId, long scopeGroupId,
356                    boolean privateLayout, java.lang.String portletId)
357                    throws com.liferay.portal.kernel.exception.PortalException,
358                            com.liferay.portal.kernel.exception.SystemException;
359    
360            /**
361            * Returns the name of the layout.
362            *
363            * @param groupId the primary key of the group
364            * @param privateLayout whether the layout is private to the group
365            * @param layoutId the primary key of the layout
366            * @param languageId the primary key of the language. For more information
367            See {@link java.util.Locale}.
368            * @return the layout's name
369            * @throws PortalException if a matching layout could not be found
370            * @throws SystemException if a system exception occurred
371            */
372            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
373            public java.lang.String getLayoutName(long groupId, boolean privateLayout,
374                    long layoutId, java.lang.String languageId)
375                    throws com.liferay.portal.kernel.exception.PortalException,
376                            com.liferay.portal.kernel.exception.SystemException;
377    
378            /**
379            * Returns the layout references for all the layouts that belong to the
380            * company and belong to the portlet that matches the preferences.
381            *
382            * @param companyId the primary key of the company
383            * @param portletId the primary key of the portlet
384            * @param preferencesKey the portlet's preference key
385            * @param preferencesValue the portlet's preference value
386            * @return the layout references of the matching layouts
387            * @throws SystemException if a system exception occurred
388            */
389            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
390            public com.liferay.portal.model.LayoutReference[] getLayoutReferences(
391                    long companyId, java.lang.String portletId,
392                    java.lang.String preferencesKey, java.lang.String preferencesValue)
393                    throws com.liferay.portal.kernel.exception.SystemException;
394    
395            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
396            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
397                    long groupId, boolean privateLayout)
398                    throws com.liferay.portal.kernel.exception.PortalException,
399                            com.liferay.portal.kernel.exception.SystemException;
400    
401            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
402            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
403                    long groupId, boolean privateLayout, long parentLayoutId)
404                    throws com.liferay.portal.kernel.exception.PortalException,
405                            com.liferay.portal.kernel.exception.SystemException;
406    
407            /**
408            * Imports the layouts from the byte array.
409            *
410            * @param groupId the primary key of the group
411            * @param privateLayout whether the layout is private to the group
412            * @param parameterMap the mapping of parameters indicating which
413            information will be imported. For information on the keys used in
414            the map see {@link
415            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
416            * @param bytes the byte array with the data
417            * @throws PortalException if a group with the primary key could not be
418            found, if the group did not have permission to manage the
419            layouts, or if some other portal exception occurred
420            * @throws SystemException if a system exception occurred
421            * @see com.liferay.portal.lar.LayoutImporter
422            */
423            public void importLayouts(long groupId, boolean privateLayout,
424                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
425                    byte[] bytes)
426                    throws com.liferay.portal.kernel.exception.PortalException,
427                            com.liferay.portal.kernel.exception.SystemException;
428    
429            /**
430            * Imports the layouts from the file.
431            *
432            * @param groupId the primary key of the group
433            * @param privateLayout whether the layout is private to the group
434            * @param parameterMap the mapping of parameters indicating which
435            information will be imported. For information on the keys used in
436            the map see {@link
437            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
438            * @param file the LAR file with the data
439            * @throws PortalException if a group with the primary key could not be
440            found, if the group did not have permission to manage the layouts
441            and publish, or if some other portal exception occurred
442            * @throws SystemException if a system exception occurred
443            * @see com.liferay.portal.lar.LayoutImporter
444            */
445            public void importLayouts(long groupId, boolean privateLayout,
446                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
447                    java.io.File file)
448                    throws com.liferay.portal.kernel.exception.PortalException,
449                            com.liferay.portal.kernel.exception.SystemException;
450    
451            /**
452            * Imports the layouts from the input stream.
453            *
454            * @param groupId the primary key of the group
455            * @param privateLayout whether the layout is private to the group
456            * @param parameterMap the mapping of parameters indicating which
457            information will be imported. For information on the keys used in
458            the map see {@link
459            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
460            * @param is the input stream
461            * @throws PortalException if a group with the primary key could not be
462            found, if the group did not have permission to manage the
463            layouts, or if some other portal exception occurred
464            * @throws SystemException if a system exception occurred
465            * @see com.liferay.portal.lar.LayoutImporter
466            */
467            public void importLayouts(long groupId, boolean privateLayout,
468                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
469                    java.io.InputStream is)
470                    throws com.liferay.portal.kernel.exception.PortalException,
471                            com.liferay.portal.kernel.exception.SystemException;
472    
473            /**
474            * Imports the portlet information (categories, permissions, ... etc.) from
475            * the file.
476            *
477            * @param plid the primary key of the layout
478            * @param groupId the primary key of the group
479            * @param portletId the primary key of the portlet
480            * @param parameterMap the mapping of parameters indicating which
481            information will be imported. For information on the keys used in
482            the map see {@link
483            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
484            * @param file the LAR file with the data
485            * @throws PortalException if a group, layout, or portlet with the primary
486            key could not be found, or if the group did not have permission
487            to manage the layouts
488            * @throws SystemException if a system exception occurred
489            */
490            public void importPortletInfo(long plid, long groupId,
491                    java.lang.String portletId,
492                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
493                    java.io.File file)
494                    throws com.liferay.portal.kernel.exception.PortalException,
495                            com.liferay.portal.kernel.exception.SystemException;
496    
497            /**
498            * Imports the portlet information (categories, permissions, ... etc.) from
499            * the input stream.
500            *
501            * @param plid the primary key of the layout
502            * @param groupId the primary key of the group
503            * @param portletId the primary key of the portlet
504            * @param parameterMap the mapping of parameters indicating which
505            information will be imported. For information on the keys used in
506            the map see {@link
507            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
508            * @param is the input stream
509            * @throws PortalException if a group, portlet, or layout with the primary
510            key could not be found or if the group did not have permission to
511            manage the layouts
512            * @throws SystemException if a system exception occurred
513            */
514            public void importPortletInfo(long plid, long groupId,
515                    java.lang.String portletId,
516                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
517                    java.io.InputStream is)
518                    throws com.liferay.portal.kernel.exception.PortalException,
519                            com.liferay.portal.kernel.exception.SystemException;
520    
521            /**
522            * Schedules a range of layouts to be published.
523            *
524            * @param sourceGroupId the primary key of the source group
525            * @param targetGroupId the primary key of the target group
526            * @param privateLayout whether the layout is private to the group
527            * @param layoutIdMap the layouts considered for publishing, specified by
528            the layout IDs and booleans indicating whether they have children
529            * @param parameterMap the mapping of parameters indicating which
530            information will be used. See {@link
531            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
532            * @param scope the scope of the pages. It can be <code>all-pages</code> or
533            <code>selected-pages</code>.
534            * @param startDate the start date
535            * @param endDate the end date
536            * @param groupName the group name (optionally {@link
537            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
538            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
539            * @param cronText the cron text. See {@link
540            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
541            * @param schedulerStartDate the scheduler start date
542            * @param schedulerEndDate the scheduler end date
543            * @param description the scheduler description
544            * @throws PortalException if the group did not have permission to manage
545            and publish
546            * @throws SystemException if a system exception occurred
547            */
548            public void schedulePublishToLive(long sourceGroupId, long targetGroupId,
549                    boolean privateLayout,
550                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
551                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
552                    java.lang.String scope, java.util.Date startDate,
553                    java.util.Date endDate, java.lang.String groupName,
554                    java.lang.String cronText, java.util.Date schedulerStartDate,
555                    java.util.Date schedulerEndDate, java.lang.String description)
556                    throws com.liferay.portal.kernel.exception.PortalException,
557                            com.liferay.portal.kernel.exception.SystemException;
558    
559            /**
560            * Schedules a range of layouts to be stored.
561            *
562            * @param sourceGroupId the primary key of the source group
563            * @param privateLayout whether the layout is private to the group
564            * @param layoutIdMap the layouts considered for publishing, specified by
565            the layout IDs and booleans indicating whether they have children
566            * @param parameterMap the mapping of parameters indicating which
567            information will be used. See {@link
568            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}
569            * @param remoteAddress the remote address
570            * @param remotePort the remote port
571            * @param secureConnection whether the connection is secure
572            * @param remoteGroupId the primary key of the remote group
573            * @param remotePrivateLayout whether remote group's layout is private
574            * @param startDate the start date
575            * @param endDate the end date
576            * @param groupName the group name. Optionally {@link
577            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
578            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
579            * @param cronText the cron text. See {@link
580            com.liferay.portal.kernel.cal.RecurrenceSerializer #toCronText}
581            * @param schedulerStartDate the scheduler start date
582            * @param schedulerEndDate the scheduler end date
583            * @param description the scheduler description
584            * @throws PortalException if a group with the source group primary key was
585            not found or if the group did not have permission to publish
586            * @throws SystemException if a system exception occurred
587            */
588            public void schedulePublishToRemote(long sourceGroupId,
589                    boolean privateLayout,
590                    java.util.Map<java.lang.Long, java.lang.Boolean> layoutIdMap,
591                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
592                    java.lang.String remoteAddress, int remotePort,
593                    java.lang.String remotePathContext, boolean secureConnection,
594                    long remoteGroupId, boolean remotePrivateLayout,
595                    java.util.Date startDate, java.util.Date endDate,
596                    java.lang.String groupName, java.lang.String cronText,
597                    java.util.Date schedulerStartDate, java.util.Date schedulerEndDate,
598                    java.lang.String description)
599                    throws com.liferay.portal.kernel.exception.PortalException,
600                            com.liferay.portal.kernel.exception.SystemException;
601    
602            /**
603            * Sets the layouts for the group, replacing and prioritizing all layouts of
604            * the parent layout.
605            *
606            * @param groupId the primary key of the group
607            * @param privateLayout whether the layout is private to the group
608            * @param parentLayoutId the primary key of the parent layout
609            * @param layoutIds the primary keys of the layouts
610            * @param serviceContext the service context
611            * @throws PortalException if a group or layout with the primary key could
612            not be found, if the group did not have permission to manage the
613            layouts, if no layouts were specified, if the first layout was
614            not page-able, if the first layout was hidden, or if some other
615            portal exception occurred
616            * @throws SystemException if a system exception occurred
617            */
618            public void setLayouts(long groupId, boolean privateLayout,
619                    long parentLayoutId, long[] layoutIds,
620                    com.liferay.portal.service.ServiceContext serviceContext)
621                    throws com.liferay.portal.kernel.exception.PortalException,
622                            com.liferay.portal.kernel.exception.SystemException;
623    
624            /**
625            * Deletes the job from the scheduler's queue.
626            *
627            * @param groupId the primary key of the group
628            * @param jobName the job name
629            * @param groupName the group name (optionally {@link
630            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
631            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
632            * @throws PortalException if the group did not permission to manage staging
633            and publish
634            * @throws SystemException if a system exception occurred
635            */
636            public void unschedulePublishToLive(long groupId, java.lang.String jobName,
637                    java.lang.String groupName)
638                    throws com.liferay.portal.kernel.exception.PortalException,
639                            com.liferay.portal.kernel.exception.SystemException;
640    
641            /**
642            * Deletes the job from the scheduler's persistent queue.
643            *
644            * @param groupId the primary key of the group
645            * @param jobName the job name
646            * @param groupName the group name (optionally {@link
647            com.liferay.portal.kernel.messaging.DestinationNames#LAYOUTS_LOCAL_PUBLISHER}).
648            See {@link com.liferay.portal.kernel.messaging.DestinationNames}.
649            * @throws PortalException if a group with the primary key could not be
650            found or if the group did not have permission to publish
651            * @throws SystemException if a system exception occurred
652            */
653            public void unschedulePublishToRemote(long groupId,
654                    java.lang.String jobName, java.lang.String groupName)
655                    throws com.liferay.portal.kernel.exception.PortalException,
656                            com.liferay.portal.kernel.exception.SystemException;
657    
658            /**
659            * Updates the layout.
660            *
661            * @param groupId the primary key of the group
662            * @param privateLayout whether the layout is private to the group
663            * @param layoutId the primary key of the layout
664            * @param parentLayoutId the primary key of the layout's new parent layout
665            * @param localeNamesMap the layout's locales and localized names
666            * @param localeTitlesMap the layout's locales and localized titles
667            * @param descriptionMap the locales and localized descriptions to merge
668            (optionally <code>null</code>)
669            * @param keywordsMap the locales and localized keywords to merge
670            (optionally <code>null</code>)
671            * @param robotsMap the locales and localized robots to merge (optionally
672            <code>null</code>)
673            * @param type the layout's new type (optionally {@link
674            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
675            * @param hidden whether the layout is hidden
676            * @param friendlyURL the layout's new friendly URL (optionally {@link
677            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
678            or {@link
679            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}).
680            The default values can be overridden in
681            <code>portal-ext.properties</code> by specifying new values for
682            the corresponding properties defined in {@link
683            com.liferay.portal.util.PropsValues}. To see how the URL is
684            normalized when accessed see {@link
685            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
686            String)}.
687            * @param iconImage whether the icon image will be updated
688            * @param iconBytes the byte array of the layout's new icon image
689            * @param serviceContext the service context. Can set the modification date
690            and expando bridge attributes for the layout.
691            * @return the updated layout
692            * @throws PortalException if a group or layout with the primary key could
693            not be found, if the user did not have permission to update the
694            layout, if a unique friendly URL could not be generated, if a
695            valid parent layout ID to use could not be found, or if the
696            layout parameters were invalid
697            * @throws SystemException if a system exception occurred
698            */
699            public com.liferay.portal.model.Layout updateLayout(long groupId,
700                    boolean privateLayout, long layoutId, long parentLayoutId,
701                    java.util.Map<java.util.Locale, java.lang.String> localeNamesMap,
702                    java.util.Map<java.util.Locale, java.lang.String> localeTitlesMap,
703                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
704                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
705                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
706                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
707                    java.lang.Boolean iconImage, byte[] iconBytes,
708                    com.liferay.portal.service.ServiceContext serviceContext)
709                    throws com.liferay.portal.kernel.exception.PortalException,
710                            com.liferay.portal.kernel.exception.SystemException;
711    
712            /**
713            * Updates the layout replacing its type settings.
714            *
715            * @param groupId the primary key of the group
716            * @param privateLayout whether the layout is private to the group
717            * @param layoutId the primary key of the layout
718            * @param typeSettings the settings to load the unicode properties object.
719            See {@link com.liferay.portal.kernel.util.UnicodeProperties
720            #fastLoad(String)}.
721            * @return the updated layout
722            * @throws PortalException if a matching layout could not be found or if the
723            user did not have permission to update the layout
724            * @throws SystemException if a system exception occurred
725            */
726            public com.liferay.portal.model.Layout updateLayout(long groupId,
727                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
728                    throws com.liferay.portal.kernel.exception.PortalException,
729                            com.liferay.portal.kernel.exception.SystemException;
730    
731            /**
732            * Updates the look and feel of the layout.
733            *
734            * @param groupId the primary key of the group
735            * @param privateLayout whether the layout is private to the group
736            * @param layoutId the primary key of the layout
737            * @param themeId the primary key of the layout's new theme
738            * @param colorSchemeId the primary key of the layout's new color scheme
739            * @param css the layout's new CSS
740            * @param wapTheme whether the theme is for WAP browsers
741            * @return the updated layout
742            * @throws PortalException if a matching layout could not be found, or if
743            the user did not have permission to update the layout and
744            permission to apply the theme
745            * @throws SystemException if a system exception occurred
746            */
747            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
748                    boolean privateLayout, long layoutId, java.lang.String themeId,
749                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
750                    throws com.liferay.portal.kernel.exception.PortalException,
751                            com.liferay.portal.kernel.exception.SystemException;
752    
753            /**
754            * Updates the name of the layout matching the group, layout ID, and
755            * privacy.
756            *
757            * @param groupId the primary key of the group
758            * @param privateLayout whether the layout is private to the group
759            * @param layoutId the primary key of the layout
760            * @param name the layout's new name
761            * @param languageId the primary key of the language. For more information
762            see {@link java.util.Locale}.
763            * @return the updated layout
764            * @throws PortalException if a matching layout could not be found, if the
765            user did not have permission to update the layout, or if the new
766            name was <code>null</code>
767            * @throws SystemException if a system exception occurred
768            */
769            public com.liferay.portal.model.Layout updateName(long groupId,
770                    boolean privateLayout, long layoutId, java.lang.String name,
771                    java.lang.String languageId)
772                    throws com.liferay.portal.kernel.exception.PortalException,
773                            com.liferay.portal.kernel.exception.SystemException;
774    
775            /**
776            * Updates the name of the layout matching the primary key.
777            *
778            * @param plid the primary key of the layout
779            * @param name the name to be assigned
780            * @param languageId the primary key of the language. For more information
781            see {@link java.util.Locale}.
782            * @return the updated layout
783            * @throws PortalException if a layout with the primary key could not be
784            found, or if the user did not have permission to update the
785            layout, or if the name was <code>null</code>
786            * @throws SystemException if a system exception occurred
787            */
788            public com.liferay.portal.model.Layout updateName(long plid,
789                    java.lang.String name, java.lang.String languageId)
790                    throws com.liferay.portal.kernel.exception.PortalException,
791                            com.liferay.portal.kernel.exception.SystemException;
792    
793            /**
794            * Updates the parent layout ID of the layout matching the group, layout ID,
795            * and privacy.
796            *
797            * @param groupId the primary key of the group
798            * @param privateLayout whether the layout is private to the group
799            * @param layoutId the primary key of the layout
800            * @param parentLayoutId the primary key to be assigned to the parent
801            layout
802            * @return the matching layout
803            * @throws PortalException if a valid parent layout ID to use could not be
804            found, if a matching layout could not be found, or if the user
805            did not have permission to update the layout
806            * @throws SystemException if a system exception occurred
807            */
808            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
809                    boolean privateLayout, long layoutId, long parentLayoutId)
810                    throws com.liferay.portal.kernel.exception.PortalException,
811                            com.liferay.portal.kernel.exception.SystemException;
812    
813            /**
814            * Updates the parent layout ID of the layout matching the primary key. If a
815            * layout matching the parent primary key is found, the layout ID of that
816            * layout is assigned, otherwise {@link
817            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
818            * assigned.
819            *
820            * @param plid the primary key of the layout
821            * @param parentPlid the primary key of the parent layout
822            * @return the layout matching the primary key
823            * @throws PortalException if a layout with the primary key could not be
824            found, if the user did not have permission to update the layout,
825            or if a valid parent layout ID to use could not be found
826            * @throws SystemException if a system exception occurred
827            */
828            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
829                    long parentPlid)
830                    throws com.liferay.portal.kernel.exception.PortalException,
831                            com.liferay.portal.kernel.exception.SystemException;
832    
833            /**
834            * Updates the priority of the layout matching the group, layout ID, and
835            * privacy.
836            *
837            * @param groupId the primary key of the group
838            * @param privateLayout whether the layout is private to the group
839            * @param layoutId the primary key of the layout
840            * @param priority the layout's new priority
841            * @return the updated layout
842            * @throws PortalException if a matching layout could not be found or if the
843            user did not have permission to update the layout
844            * @throws SystemException if a system exception occurred
845            */
846            public com.liferay.portal.model.Layout updatePriority(long groupId,
847                    boolean privateLayout, long layoutId, int priority)
848                    throws com.liferay.portal.kernel.exception.PortalException,
849                            com.liferay.portal.kernel.exception.SystemException;
850    
851            /**
852            * Updates the priority of the layout matching the primary key.
853            *
854            * @param plid the primary key of the layout
855            * @param priority the layout's new priority
856            * @return the updated layout
857            * @throws PortalException if a layout with the primary key could not be
858            found
859            * @throws SystemException if a system exception occurred
860            */
861            public com.liferay.portal.model.Layout updatePriority(long plid,
862                    int priority)
863                    throws com.liferay.portal.kernel.exception.PortalException,
864                            com.liferay.portal.kernel.exception.SystemException;
865    }