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