001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    
023    /**
024     * The interface for the layout local service.
025     *
026     * <p>
027     * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
028     * </p>
029     *
030     * @author Brian Wing Shun Chan
031     * @see LayoutLocalServiceUtil
032     * @see com.liferay.portal.service.base.LayoutLocalServiceBaseImpl
033     * @see com.liferay.portal.service.impl.LayoutLocalServiceImpl
034     * @generated
035     */
036    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
037            PortalException.class, SystemException.class})
038    public interface LayoutLocalService extends PersistedModelLocalService {
039            /*
040             * NOTE FOR DEVELOPERS:
041             *
042             * Never modify or reference this interface directly. Always use {@link LayoutLocalServiceUtil} to access the layout local service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
043             */
044    
045            /**
046            * Adds the layout to the database. Also notifies the appropriate model listeners.
047            *
048            * @param layout the layout
049            * @return the layout that was added
050            * @throws SystemException if a system exception occurred
051            */
052            public com.liferay.portal.model.Layout addLayout(
053                    com.liferay.portal.model.Layout layout)
054                    throws com.liferay.portal.kernel.exception.SystemException;
055    
056            /**
057            * Creates a new layout with the primary key. Does not add the layout to the database.
058            *
059            * @param plid the primary key for the new layout
060            * @return the new layout
061            */
062            public com.liferay.portal.model.Layout createLayout(long plid);
063    
064            /**
065            * Deletes the layout with the primary key from the database. Also notifies the appropriate model listeners.
066            *
067            * @param plid the primary key of the layout
068            * @throws PortalException if a layout with the primary key could not be found
069            * @throws SystemException if a system exception occurred
070            */
071            public void deleteLayout(long plid)
072                    throws com.liferay.portal.kernel.exception.PortalException,
073                            com.liferay.portal.kernel.exception.SystemException;
074    
075            /**
076            * Deletes the layout from the database. Also notifies the appropriate model listeners.
077            *
078            * @param layout the layout
079            * @throws SystemException if a system exception occurred
080            */
081            public void deleteLayout(com.liferay.portal.model.Layout layout)
082                    throws com.liferay.portal.kernel.exception.SystemException;
083    
084            /**
085            * Performs a dynamic query on the database and returns the matching rows.
086            *
087            * @param dynamicQuery the dynamic query
088            * @return the matching rows
089            * @throws SystemException if a system exception occurred
090            */
091            @SuppressWarnings("rawtypes")
092            public java.util.List dynamicQuery(
093                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
094                    throws com.liferay.portal.kernel.exception.SystemException;
095    
096            /**
097            * Performs a dynamic query on the database and returns a range of the matching rows.
098            *
099            * <p>
100            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
101            * </p>
102            *
103            * @param dynamicQuery the dynamic query
104            * @param start the lower bound of the range of model instances
105            * @param end the upper bound of the range of model instances (not inclusive)
106            * @return the range of matching rows
107            * @throws SystemException if a system exception occurred
108            */
109            @SuppressWarnings("rawtypes")
110            public java.util.List dynamicQuery(
111                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
112                    int end) throws com.liferay.portal.kernel.exception.SystemException;
113    
114            /**
115            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
116            *
117            * <p>
118            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
119            * </p>
120            *
121            * @param dynamicQuery the dynamic query
122            * @param start the lower bound of the range of model instances
123            * @param end the upper bound of the range of model instances (not inclusive)
124            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
125            * @return the ordered range of matching rows
126            * @throws SystemException if a system exception occurred
127            */
128            @SuppressWarnings("rawtypes")
129            public java.util.List dynamicQuery(
130                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
131                    int end,
132                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
133                    throws com.liferay.portal.kernel.exception.SystemException;
134    
135            /**
136            * Returns the number of rows that match the dynamic query.
137            *
138            * @param dynamicQuery the dynamic query
139            * @return the number of rows that match the dynamic query
140            * @throws SystemException if a system exception occurred
141            */
142            public long dynamicQueryCount(
143                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
144                    throws com.liferay.portal.kernel.exception.SystemException;
145    
146            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
147            public com.liferay.portal.model.Layout fetchLayout(long plid)
148                    throws com.liferay.portal.kernel.exception.SystemException;
149    
150            /**
151            * Returns the layout with the primary key.
152            *
153            * @param plid the primary key of the layout
154            * @return the layout
155            * @throws PortalException if a layout with the primary key could not be found
156            * @throws SystemException if a system exception occurred
157            */
158            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
159            public com.liferay.portal.model.Layout getLayout(long plid)
160                    throws com.liferay.portal.kernel.exception.PortalException,
161                            com.liferay.portal.kernel.exception.SystemException;
162    
163            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
164            public com.liferay.portal.model.PersistedModel getPersistedModel(
165                    java.io.Serializable primaryKeyObj)
166                    throws com.liferay.portal.kernel.exception.PortalException,
167                            com.liferay.portal.kernel.exception.SystemException;
168    
169            /**
170            * Returns the layout with the UUID in the group.
171            *
172            * @param uuid the UUID of layout
173            * @param groupId the group id of the layout
174            * @return the layout
175            * @throws PortalException if a layout with the UUID in the group could not be found
176            * @throws SystemException if a system exception occurred
177            */
178            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
179            public com.liferay.portal.model.Layout getLayoutByUuidAndGroupId(
180                    java.lang.String uuid, long groupId)
181                    throws com.liferay.portal.kernel.exception.PortalException,
182                            com.liferay.portal.kernel.exception.SystemException;
183    
184            /**
185            * Returns a range of all the layouts.
186            *
187            * <p>
188            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
189            * </p>
190            *
191            * @param start the lower bound of the range of layouts
192            * @param end the upper bound of the range of layouts (not inclusive)
193            * @return the range of layouts
194            * @throws SystemException if a system exception occurred
195            */
196            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
197            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
198                    int start, int end)
199                    throws com.liferay.portal.kernel.exception.SystemException;
200    
201            /**
202            * Returns the number of layouts.
203            *
204            * @return the number of layouts
205            * @throws SystemException if a system exception occurred
206            */
207            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
208            public int getLayoutsCount()
209                    throws com.liferay.portal.kernel.exception.SystemException;
210    
211            /**
212            * Updates the layout in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
213            *
214            * @param layout the layout
215            * @return the layout that was updated
216            * @throws SystemException if a system exception occurred
217            */
218            public com.liferay.portal.model.Layout updateLayout(
219                    com.liferay.portal.model.Layout layout)
220                    throws com.liferay.portal.kernel.exception.SystemException;
221    
222            /**
223            * Updates the layout in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
224            *
225            * @param layout the layout
226            * @param merge whether to merge the layout with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
227            * @return the layout that was updated
228            * @throws SystemException if a system exception occurred
229            */
230            public com.liferay.portal.model.Layout updateLayout(
231                    com.liferay.portal.model.Layout layout, boolean merge)
232                    throws com.liferay.portal.kernel.exception.SystemException;
233    
234            /**
235            * Returns the Spring bean ID for this bean.
236            *
237            * @return the Spring bean ID for this bean
238            */
239            public java.lang.String getBeanIdentifier();
240    
241            /**
242            * Sets the Spring bean ID for this bean.
243            *
244            * @param beanIdentifier the Spring bean ID for this bean
245            */
246            public void setBeanIdentifier(java.lang.String beanIdentifier);
247    
248            /**
249            * Adds a layout with additional parameters.
250            *
251            * <p>
252            * This method handles the creation of the layout including its resources,
253            * metadata, and internal data structures. It is not necessary to make
254            * subsequent calls to any methods to setup default groups, resources, ...
255            * etc.
256            * </p>
257            *
258            * @param userId the primary key of the user
259            * @param groupId the primary key of the group
260            * @param privateLayout whether the layout is private to the group
261            * @param parentLayoutId the primary key of the parent layout (optionally
262            {@link
263            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID})
264            * @param nameMap the layout's locales and localized names
265            * @param titleMap the layout's locales and localized titles
266            * @param descriptionMap the layout's locales and localized descriptions
267            * @param keywordsMap the layout's locales and localized keywords
268            * @param robotsMap the layout's locales and localized robots
269            * @param type the layout's type (optionally {@link
270            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
271            possible types can be found in {@link
272            com.liferay.portal.model.LayoutConstants}.
273            * @param hidden whether the layout is hidden
274            * @param friendlyURL the layout's friendly URL (optionally {@link
275            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
276            or {@link
277            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
278            The default values can be overridden in
279            <code>portal-ext.properties</code> by specifying new values for
280            the corresponding properties defined in {@link
281            com.liferay.portal.util.PropsValues}. To see how the URL is
282            normalized when accessed see {@link
283            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
284            String)}.
285            * @param serviceContext the service context. Must set the universally
286            unique identifier (UUID) for the layout. Can set the creation
287            date, modification date and the expando bridge attributes for the
288            layout. For layouts that belong to a layout set prototype, an
289            attribute named 'layoutUpdateable' can be set to specify whether
290            site administrators can modify this page within their site. For
291            layouts that are created from a layout prototype, attributes
292            named 'layoutPrototypeUuid' and 'layoutPrototypeLinkedEnabled'
293            can be specified to provide the unique identifier of the source
294            prototype and a boolean to determined whether a link to it should
295            be enabled to activate propagation of changes made to the linked
296            page in the prototype.
297            * @return the layout
298            * @throws PortalException if a group or user with the primary key could not
299            be found, or if layout values were invalid
300            * @throws SystemException if a system exception occurred
301            */
302            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
303                    boolean privateLayout, long parentLayoutId,
304                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
305                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
306                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
307                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
308                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
309                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
310                    com.liferay.portal.service.ServiceContext serviceContext)
311                    throws com.liferay.portal.kernel.exception.PortalException,
312                            com.liferay.portal.kernel.exception.SystemException;
313    
314            /**
315            * Adds a layout.
316            *
317            * <p>
318            * This method handles the creation of the layout including its resources,
319            * metadata, and internal data structures. It is not necessary to make
320            * subsequent calls to any methods to setup default groups, resources, ...
321            * etc.
322            * </p>
323            *
324            * @param userId the primary key of the user
325            * @param groupId the primary key of the group
326            * @param privateLayout whether the layout is private to the group
327            * @param parentLayoutId the primary key of the parent layout (optionally
328            {@link
329            com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID}).
330            The possible values can be found in {@link
331            com.liferay.portal.model.LayoutConstants}.
332            * @param name the layout's name (optionally {@link
333            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_NAME}
334            or {@link
335            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_NAME}).
336            The default values can be overridden in
337            <code>portal-ext.properties</code> by specifying new values for
338            the corresponding properties defined in {@link
339            com.liferay.portal.util.PropsValues}
340            * @param title the layout's title
341            * @param description the layout's description
342            * @param type the layout's type (optionally {@link
343            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET}). The
344            possible types can be found in {@link
345            com.liferay.portal.model.LayoutConstants}.
346            * @param hidden whether the layout is hidden
347            * @param friendlyURL the friendly URL of the layout (optionally {@link
348            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
349            or {@link
350            com.liferay.portal.util.PropsValues#DEFAULT_USER_PUBLIC_LAYOUT_FRIENDLY_URL}).
351            The default values can be overridden in
352            <code>portal-ext.properties</code> by specifying new values for
353            the corresponding properties defined in {@link
354            com.liferay.portal.util.PropsValues}. To see how the URL is
355            normalized when accessed see {@link
356            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
357            String)}.
358            * @param serviceContext the service context. Must set the universally
359            unique identifier (UUID) for the layout. Can set the creation
360            date and modification date for the layout. For layouts that
361            belong to a layout set prototype, an attribute named
362            'layoutUpdateable' can be set to specify whether site
363            administrators can modify this page within their site.
364            * @return the layout
365            * @throws PortalException if a group or user with the primary key could not
366            be found
367            * @throws SystemException if a system exception occurred
368            */
369            public com.liferay.portal.model.Layout addLayout(long userId, long groupId,
370                    boolean privateLayout, long parentLayoutId, java.lang.String name,
371                    java.lang.String title, java.lang.String description,
372                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
373                    com.liferay.portal.service.ServiceContext serviceContext)
374                    throws com.liferay.portal.kernel.exception.PortalException,
375                            com.liferay.portal.kernel.exception.SystemException;
376    
377            /**
378            * Deletes the layout, its child layouts, and its associated resources.
379            *
380            * @param layout the layout
381            * @param updateLayoutSet whether the layout set's page counter needs to be
382            updated
383            * @param serviceContext the service context
384            * @throws PortalException if a portal exception occurred
385            * @throws SystemException if a system exception occurred
386            */
387            public void deleteLayout(com.liferay.portal.model.Layout layout,
388                    boolean updateLayoutSet,
389                    com.liferay.portal.service.ServiceContext serviceContext)
390                    throws com.liferay.portal.kernel.exception.PortalException,
391                            com.liferay.portal.kernel.exception.SystemException;
392    
393            /**
394            * Deletes the layout with the primary key, also deleting the layout's child
395            * layouts, and associated resources.
396            *
397            * @param groupId the primary key of the group
398            * @param privateLayout whether the layout is private to the group
399            * @param layoutId the primary key of the layout
400            * @param serviceContext the service context
401            * @throws PortalException if a matching layout could not be found , or if
402            some other portal exception occurred
403            * @throws SystemException if a system exception occurred
404            */
405            public void deleteLayout(long groupId, boolean privateLayout,
406                    long layoutId, com.liferay.portal.service.ServiceContext serviceContext)
407                    throws com.liferay.portal.kernel.exception.PortalException,
408                            com.liferay.portal.kernel.exception.SystemException;
409    
410            /**
411            * Deletes the layout with the plid, also deleting the layout's child
412            * layouts, and associated resources.
413            *
414            * @param plid the primary key of the layout
415            * @param serviceContext the service context
416            * @throws PortalException if a layout with the primary key could not be
417            found , or if some other portal exception occurred
418            * @throws SystemException if a system exception occurred
419            */
420            public void deleteLayout(long plid,
421                    com.liferay.portal.service.ServiceContext serviceContext)
422                    throws com.liferay.portal.kernel.exception.PortalException,
423                            com.liferay.portal.kernel.exception.SystemException;
424    
425            /**
426            * Deletes the group's private or non-private layouts, also deleting the
427            * layouts' child layouts, and associated resources.
428            *
429            * @param groupId the primary key of the group
430            * @param privateLayout whether the layout is private to the group
431            * @param serviceContext the service context
432            * @throws PortalException if a group with the primary key could not be
433            found or if a layout set for the group and privacy could not be
434            found
435            * @throws SystemException if a system exception occurred
436            */
437            public void deleteLayouts(long groupId, boolean privateLayout,
438                    com.liferay.portal.service.ServiceContext serviceContext)
439                    throws com.liferay.portal.kernel.exception.PortalException,
440                            com.liferay.portal.kernel.exception.SystemException;
441    
442            /**
443            * Exports layouts with the primary keys and criteria as a byte array.
444            *
445            * @param groupId the primary key of the group
446            * @param privateLayout whether the layout is private to the group
447            * @param layoutIds the primary keys of the layouts to be exported
448            * @param parameterMap the mapping of parameters indicating which
449            information to export. For information on the keys used in the
450            map see {@link
451            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
452            * @param startDate the export's start date
453            * @param endDate the export's end date
454            * @return the layouts as a byte array
455            * @throws PortalException if a group or any layout with the primary key
456            could not be found, or if some other portal exception occurred
457            * @throws SystemException if a system exception occurred
458            */
459            public byte[] exportLayouts(long groupId, boolean privateLayout,
460                    long[] layoutIds,
461                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
462                    java.util.Date startDate, java.util.Date endDate)
463                    throws com.liferay.portal.kernel.exception.PortalException,
464                            com.liferay.portal.kernel.exception.SystemException;
465    
466            /**
467            * Exports all layouts that match the criteria as a byte array.
468            *
469            * @param groupId the primary key of the group
470            * @param privateLayout whether the layout is private to the group
471            * @param parameterMap the mapping of parameters indicating which
472            information to export. For information on the keys used in the
473            map see {@link
474            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
475            * @param startDate the export's start date
476            * @param endDate the export's end date
477            * @return the layout as a byte array
478            * @throws PortalException if a group with the primary key could not be
479            found or if some other portal exception occurred
480            * @throws SystemException if a system exception occurred
481            */
482            public byte[] exportLayouts(long groupId, boolean privateLayout,
483                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
484                    java.util.Date startDate, java.util.Date endDate)
485                    throws com.liferay.portal.kernel.exception.PortalException,
486                            com.liferay.portal.kernel.exception.SystemException;
487    
488            /**
489            * Exports the layouts that match the primary keys and criteria as a file.
490            *
491            * @param groupId the primary key of the group
492            * @param privateLayout whether the layout is private to the group
493            * @param layoutIds the primary keys of the layouts to be exported
494            (optionally <code>null</code>)
495            * @param parameterMap the mapping of parameters indicating which
496            information to export. For information on the keys used in the
497            map see {@link
498            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
499            * @param startDate the export's start date
500            * @param endDate the export's end date
501            * @return the layouts as a File
502            * @throws PortalException if a group or any layout with the primary key
503            could not be found, or if some other portal exception occurred
504            * @throws SystemException if a system exception occurred
505            */
506            public java.io.File exportLayoutsAsFile(long groupId,
507                    boolean privateLayout, long[] layoutIds,
508                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
509                    java.util.Date startDate, java.util.Date endDate)
510                    throws com.liferay.portal.kernel.exception.PortalException,
511                            com.liferay.portal.kernel.exception.SystemException;
512    
513            /**
514            * Exports the portlet information (categories, permissions, ... etc.) as a
515            * byte array.
516            *
517            * @param plid the primary key of the layout
518            * @param groupId the primary key of the group
519            * @param portletId the primary key of the portlet
520            * @param parameterMap the mapping of parameters indicating which
521            information to export. For information on the keys used in the
522            map see {@link
523            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
524            * @param startDate the export's start date
525            * @param endDate the export's end date
526            * @return the portlet information as a byte array
527            * @throws PortalException if a group or portlet with the primary key could
528            not be found, or if some other portal exception occurred
529            * @throws SystemException if a system exception occurred
530            */
531            public byte[] exportPortletInfo(long plid, long groupId,
532                    java.lang.String portletId,
533                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
534                    java.util.Date startDate, java.util.Date endDate)
535                    throws com.liferay.portal.kernel.exception.PortalException,
536                            com.liferay.portal.kernel.exception.SystemException;
537    
538            /**
539            * Exports the portlet information (categories, permissions, ... etc.) as a
540            * file.
541            *
542            * @param plid the primary key of the layout
543            * @param groupId the primary key of the group
544            * @param portletId the primary key of the portlet
545            * @param parameterMap the mapping of parameters indicating which
546            information to export. For information on the keys used in the
547            map see {@link
548            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
549            * @param startDate the export's start date
550            * @param endDate the export's end date
551            * @return the portlet information as a file
552            * @throws PortalException if a group or portlet with the primary key could
553            not be found, or if some other portal exception occurred
554            * @throws SystemException if a system exception occurred
555            */
556            public java.io.File exportPortletInfoAsFile(long plid, long groupId,
557                    java.lang.String portletId,
558                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
559                    java.util.Date startDate, java.util.Date endDate)
560                    throws com.liferay.portal.kernel.exception.PortalException,
561                            com.liferay.portal.kernel.exception.SystemException;
562    
563            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
564            public com.liferay.portal.model.Layout fetchFirstLayout(long groupId,
565                    boolean privateLayout, long parentLayoutId)
566                    throws com.liferay.portal.kernel.exception.SystemException;
567    
568            /**
569            * Returns the layout matching the universally unique identifier and group
570            * ID
571            *
572            * @param uuid the universally unique identifier of the scope layout
573            * @param groupId the primary key of the group
574            * @return the layout, or <code>null</code> if a matching layout could not
575            be found
576            * @throws SystemException if a system exception occurred
577            */
578            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
579            public com.liferay.portal.model.Layout fetchLayoutByUuidAndGroupId(
580                    java.lang.String uuid, long groupId)
581                    throws com.liferay.portal.kernel.exception.SystemException;
582    
583            /**
584            * Returns the primary key of the default layout for the group
585            *
586            * @param groupId the primary key of the group
587            * @return the primary key of the default layout for the group (optionally
588            {@link com.liferay.portal.model.LayoutConstants#DEFAULT_PLID})
589            * @throws SystemException if a system exception occurred
590            */
591            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
592            public long getDefaultPlid(long groupId)
593                    throws com.liferay.portal.kernel.exception.SystemException;
594    
595            /**
596            * Returns primary key of the matching default layout for the group
597            *
598            * @param groupId the primary key of the group
599            * @param privateLayout whether the layout is private to the group
600            * @return the primary key of the default layout for the group; {@link
601            com.liferay.portal.model.LayoutConstants#DEFAULT_PLID}) otherwise
602            * @throws SystemException if a system exception occurred
603            */
604            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
605            public long getDefaultPlid(long groupId, boolean privateLayout)
606                    throws com.liferay.portal.kernel.exception.SystemException;
607    
608            /**
609            * Returns primary key of the default portlet layout for the group
610            *
611            * @param groupId the primary key of the group
612            * @param privateLayout whether the layout is private to the group
613            * @param portletId the primary key of the portlet
614            * @return the primary key of the default portlet layout for the group;
615            {@link com.liferay.portal.model.LayoutConstants#DEFAULT_PLID}
616            otherwise
617            * @throws PortalException if a portlet with the primary key could not be
618            found
619            * @throws SystemException if a system exception occurred
620            */
621            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
622            public long getDefaultPlid(long groupId, boolean privateLayout,
623                    java.lang.String portletId)
624                    throws com.liferay.portal.kernel.exception.PortalException,
625                            com.liferay.portal.kernel.exception.SystemException;
626    
627            /**
628            * Returns the layout for the friendly URL
629            *
630            * @param groupId the primary key of the group
631            * @param privateLayout whether the layout is private to the group
632            * @param friendlyURL the friendly URL of the layout
633            * @return the layout for the friendly URL
634            * @throws PortalException if the friendly URL is <code>null</code> or a
635            matching layout could not be found
636            * @throws SystemException if a system exception occurred
637            */
638            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
639            public com.liferay.portal.model.Layout getFriendlyURLLayout(long groupId,
640                    boolean privateLayout, java.lang.String friendlyURL)
641                    throws com.liferay.portal.kernel.exception.PortalException,
642                            com.liferay.portal.kernel.exception.SystemException;
643    
644            /**
645            * Returns the layout matching the primary key, group, and privacy; throws a
646            * {@link com.liferay.portal.NoSuchLayoutException} otherwise.
647            *
648            * @param groupId the primary key of the group
649            * @param privateLayout whether the layout is private to the group
650            * @param layoutId the primary key of the layout
651            * @return the matching layout
652            * @throws PortalException if a matching layout could not be found
653            * @throws SystemException if a system exception occurred
654            */
655            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
656            public com.liferay.portal.model.Layout getLayout(long groupId,
657                    boolean privateLayout, long layoutId)
658                    throws com.liferay.portal.kernel.exception.PortalException,
659                            com.liferay.portal.kernel.exception.SystemException;
660    
661            /**
662            * Returns the layout for the icon image; throws a {@link
663            * com.liferay.portal.NoSuchLayoutException} otherwise.
664            *
665            * @param iconImageId the primary key of the icon image
666            * @return Returns the layout for the icon image
667            * @throws PortalException if an icon image with the primary key could not
668            be found
669            * @throws SystemException if a system exception occurred
670            */
671            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
672            public com.liferay.portal.model.Layout getLayoutByIconImageId(
673                    long iconImageId)
674                    throws com.liferay.portal.kernel.exception.PortalException,
675                            com.liferay.portal.kernel.exception.SystemException;
676    
677            /**
678            * Returns all the layouts belonging to the group.
679            *
680            * @param groupId the primary key of the group
681            * @param privateLayout whether the layout is private to the group
682            * @return the matching layouts, or <code>null</code> if no matches were
683            found
684            * @throws SystemException if a system exception occurred
685            */
686            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
687            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
688                    long groupId, boolean privateLayout)
689                    throws com.liferay.portal.kernel.exception.SystemException;
690    
691            /**
692            * Returns all the layouts belonging to the group that are children of the
693            * parent layout.
694            *
695            * @param groupId the primary key of the group
696            * @param privateLayout whether the layout is private to the group
697            * @param parentLayoutId the primary key of the parent layout
698            * @return the matching layouts, or <code>null</code> if no matches were
699            found
700            * @throws SystemException if a system exception occurred
701            */
702            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
703            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
704                    long groupId, boolean privateLayout, long parentLayoutId)
705                    throws com.liferay.portal.kernel.exception.SystemException;
706    
707            /**
708            * Returns a range of all the layouts belonging to the group that are
709            * children of the parent layout.
710            *
711            * <p>
712            * Useful when paginating results. Returns a maximum of <code>end -
713            * start</code> instances. <code>start</code> and <code>end</code> are not
714            * primary keys, they are indexes in the result set. Thus, <code>0</code>
715            * refers to the first result in the set. Setting both <code>start</code>
716            * and <code>end</code> to {@link
717            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
718            * result set.
719            * </p>
720            *
721            * @param groupId the primary key of the group
722            * @param privateLayout whether the layout is private to the group
723            * @param parentLayoutId the primary key of the parent layout
724            * @param incomplete whether the layout is incomplete
725            * @param start the lower bound of the range of layouts
726            * @param end the upper bound of the range of layouts (not inclusive)
727            * @return the matching layouts, or <code>null</code> if no matches were
728            found
729            * @throws SystemException if a system exception occurred
730            */
731            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
732            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
733                    long groupId, boolean privateLayout, long parentLayoutId,
734                    boolean incomplete, int start, int end)
735                    throws com.liferay.portal.kernel.exception.SystemException;
736    
737            /**
738            * Returns all the layouts that match the layout IDs and belong to the
739            * group.
740            *
741            * @param groupId the primary key of the group
742            * @param privateLayout whether the layout is private to the group
743            * @param layoutIds the primary keys of the layouts
744            * @return the matching layouts, or <code>null</code> if no matches were
745            found
746            * @throws PortalException if a group or layout with the primary key could
747            not be found
748            * @throws SystemException if a system exception occurred
749            */
750            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
751            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
752                    long groupId, boolean privateLayout, long[] layoutIds)
753                    throws com.liferay.portal.kernel.exception.PortalException,
754                            com.liferay.portal.kernel.exception.SystemException;
755    
756            /**
757            * Returns all the layouts that match the type and belong to the group.
758            *
759            * @param groupId the primary key of the group
760            * @param privateLayout whether the layout is private to the group
761            * @param type the type of the layouts (optionally {@link
762            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
763            * @return the matching layouts, or <code>null</code> if no matches were
764            found
765            * @throws SystemException if a system exception occurred
766            */
767            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
768            public java.util.List<com.liferay.portal.model.Layout> getLayouts(
769                    long groupId, boolean privateLayout, java.lang.String type)
770                    throws com.liferay.portal.kernel.exception.SystemException;
771    
772            /**
773            * Returns the layout references for all the layouts that belong to the
774            * company and belong to the portlet that matches the preferences.
775            *
776            * @param companyId the primary key of the company
777            * @param portletId the primary key of the portlet
778            * @param preferencesKey the portlet's preference key
779            * @param preferencesValue the portlet's preference value
780            * @return the layout references of the matching layouts
781            * @throws SystemException if a system exception occurred
782            */
783            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
784            public com.liferay.portal.model.LayoutReference[] getLayouts(
785                    long companyId, java.lang.String portletId,
786                    java.lang.String preferencesKey, java.lang.String preferencesValue)
787                    throws com.liferay.portal.kernel.exception.SystemException;
788    
789            /**
790            * Returns the primary key to use for the next layout.
791            *
792            * @param groupId the primary key of the group
793            * @param privateLayout whether the layout is private to the group
794            * @return the primary key to use for the next layout
795            * @throws SystemException if a system exception occurred
796            */
797            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
798            public long getNextLayoutId(long groupId, boolean privateLayout)
799                    throws com.liferay.portal.kernel.exception.SystemException;
800    
801            /**
802            * Returns all the layouts whose friendly URLs are <code>null</code>
803            *
804            * @return all the layouts whose friendly URLs are <code>null</code>
805            * @throws SystemException if a system exception occurred
806            */
807            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
808            public java.util.List<com.liferay.portal.model.Layout> getNullFriendlyURLLayouts()
809                    throws com.liferay.portal.kernel.exception.SystemException;
810    
811            /**
812            * Returns all the layouts within scope of the group
813            *
814            * @param groupId the primary key of the group
815            * @param privateLayout whether the layout is private to the group
816            * @return the layouts within scope of the group
817            * @throws SystemException if a system exception occurred
818            */
819            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
820            public java.util.List<com.liferay.portal.model.Layout> getScopeGroupLayouts(
821                    long groupId, boolean privateLayout)
822                    throws com.liferay.portal.kernel.exception.SystemException;
823    
824            /**
825            * Returns <code>true</code> if the group has any layouts;
826            * <code>false</code> otherwise.
827            *
828            * @param groupId the primary key of the group
829            * @param privateLayout whether the layout is private to the group
830            * @param parentLayoutId the primary key of the parent layout
831            * @return <code>true</code> if the group has any layouts;
832            <code>false</code> otherwise
833            * @throws SystemException if a system exception occurred
834            */
835            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
836            public boolean hasLayouts(long groupId, boolean privateLayout,
837                    long parentLayoutId)
838                    throws com.liferay.portal.kernel.exception.SystemException;
839    
840            /**
841            * Imports the layouts from the byte array.
842            *
843            * @param userId the primary key of the user
844            * @param groupId the primary key of the group
845            * @param privateLayout whether the layout is private to the group
846            * @param parameterMap the mapping of parameters indicating which
847            information will be imported. For information on the keys used in
848            the map see {@link
849            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
850            * @param bytes the byte array with the data
851            * @throws PortalException if a group or user with the primary key could not
852            be found, or if some other portal exception occurred
853            * @throws SystemException if a system exception occurred
854            * @see com.liferay.portal.lar.LayoutImporter
855            */
856            public void importLayouts(long userId, long groupId, boolean privateLayout,
857                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
858                    byte[] bytes)
859                    throws com.liferay.portal.kernel.exception.PortalException,
860                            com.liferay.portal.kernel.exception.SystemException;
861    
862            /**
863            * Imports the layouts from the file.
864            *
865            * @param userId the primary key of the user
866            * @param groupId the primary key of the group
867            * @param privateLayout whether the layout is private to the group
868            * @param parameterMap the mapping of parameters indicating which
869            information will be imported. For information on the keys used in
870            the map see {@link
871            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
872            * @param file the LAR file with the data
873            * @throws PortalException if a group or user with the primary key could not
874            be found, or if some other portal exception occurred
875            * @throws SystemException if a system exception occurred
876            * @see com.liferay.portal.lar.LayoutImporter
877            */
878            public void importLayouts(long userId, long groupId, boolean privateLayout,
879                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
880                    java.io.File file)
881                    throws com.liferay.portal.kernel.exception.PortalException,
882                            com.liferay.portal.kernel.exception.SystemException;
883    
884            /**
885            * Imports the layouts from the input stream.
886            *
887            * @param userId the primary key of the user
888            * @param groupId the primary key of the group
889            * @param privateLayout whether the layout is private to the group
890            * @param parameterMap the mapping of parameters indicating which
891            information will be imported. For information on the keys used in
892            the map see {@link
893            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
894            * @param is the input stream
895            * @throws PortalException if a group or user with the primary key could not
896            be found, or if some other portal exception occurred
897            * @throws SystemException if a system exception occurred
898            * @see com.liferay.portal.lar.LayoutImporter
899            */
900            public void importLayouts(long userId, long groupId, boolean privateLayout,
901                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
902                    java.io.InputStream is)
903                    throws com.liferay.portal.kernel.exception.PortalException,
904                            com.liferay.portal.kernel.exception.SystemException;
905    
906            /**
907            * Imports the portlet information (categories, permissions, ... etc.) from
908            * the file.
909            *
910            * @param userId the primary key of the user
911            * @param plid the primary key of the target layout
912            * @param groupId the primary key of the target group
913            * @param portletId the primary key of the portlet
914            * @param parameterMap the mapping of parameters indicating which
915            information will be imported. For information on the keys used in
916            the map see {@link
917            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
918            * @param file the LAR file with the data
919            * @throws PortalException if a group, layout, portlet or user with the
920            primary key could not be found
921            * @throws SystemException if a system exception occurred
922            */
923            public void importPortletInfo(long userId, long plid, long groupId,
924                    java.lang.String portletId,
925                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
926                    java.io.File file)
927                    throws com.liferay.portal.kernel.exception.PortalException,
928                            com.liferay.portal.kernel.exception.SystemException;
929    
930            /**
931            * Imports the portlet information (categories, permissions, ... etc.) from
932            * the input stream.
933            *
934            * @param userId the primary key of the user
935            * @param plid the primary key of the layout
936            * @param groupId the primary key of the group
937            * @param portletId the primary key of the portlet
938            * @param parameterMap the mapping of parameters indicating which
939            information will be imported. For information on the keys used in
940            the map see {@link
941            com.liferay.portal.kernel.lar.PortletDataHandlerKeys}.
942            * @param is the input stream
943            * @throws PortalException if a group, portlet, layout or user with the
944            primary key could not be found
945            * @throws SystemException if a system exception occurred
946            */
947            public void importPortletInfo(long userId, long plid, long groupId,
948                    java.lang.String portletId,
949                    java.util.Map<java.lang.String, java.lang.String[]> parameterMap,
950                    java.io.InputStream is)
951                    throws com.liferay.portal.kernel.exception.PortalException,
952                            com.liferay.portal.kernel.exception.SystemException;
953    
954            /**
955            * Sets the layouts for the group, replacing and prioritizing all layouts of
956            * the parent layout.
957            *
958            * @param groupId the primary key of the group
959            * @param privateLayout whether the layout is private to the group
960            * @param parentLayoutId the primary key of the parent layout
961            * @param layoutIds the primary keys of the layouts
962            * @param serviceContext the service context
963            * @throws PortalException if a group or layout with the primary key could
964            not be found, if no layouts were specified, if the first layout
965            was not page-able, if the first layout was hidden, or if some
966            other portal exception occurred
967            * @throws SystemException if a system exception occurred
968            */
969            public void setLayouts(long groupId, boolean privateLayout,
970                    long parentLayoutId, long[] layoutIds,
971                    com.liferay.portal.service.ServiceContext serviceContext)
972                    throws com.liferay.portal.kernel.exception.PortalException,
973                            com.liferay.portal.kernel.exception.SystemException;
974    
975            /**
976            * Updates the friendly URL of the layout.
977            *
978            * @param plid the primary key of the layout
979            * @param friendlyURL the friendly URL to be assigned
980            * @return the updated layout
981            * @throws PortalException if a group or layout with the primary key could
982            not be found
983            * @throws SystemException if a system exception occurred
984            */
985            public com.liferay.portal.model.Layout updateFriendlyURL(long plid,
986                    java.lang.String friendlyURL)
987                    throws com.liferay.portal.kernel.exception.PortalException,
988                            com.liferay.portal.kernel.exception.SystemException;
989    
990            /**
991            * Updates the layout.
992            *
993            * @param groupId the primary key of the group
994            * @param privateLayout whether the layout is private to the group
995            * @param layoutId the primary key of the layout
996            * @param parentLayoutId the primary key of the layout's new parent layout
997            * @param nameMap the locales and localized names to merge (optionally
998            <code>null</code>)
999            * @param titleMap the locales and localized titles to merge (optionally
1000            <code>null</code>)
1001            * @param descriptionMap the locales and localized descriptions to merge
1002            (optionally <code>null</code>)
1003            * @param keywordsMap the locales and localized keywords to merge
1004            (optionally <code>null</code>)
1005            * @param robotsMap the locales and localized robots to merge (optionally
1006            <code>null</code>)
1007            * @param type the layout's new type (optionally {@link
1008            com.liferay.portal.model.LayoutConstants#TYPE_PORTLET})
1009            * @param hidden whether the layout is hidden
1010            * @param friendlyURL the layout's new friendly URL (optionally {@link
1011            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}
1012            or {@link
1013            com.liferay.portal.util.PropsValues#DEFAULT_USER_PRIVATE_LAYOUT_FRIENDLY_URL}).
1014            The default values can be overridden in
1015            <code>portal-ext.properties</code> by specifying new values for
1016            the corresponding properties defined in {@link
1017            com.liferay.portal.util.PropsValues}. To see how the URL is
1018            normalized when accessed see {@link
1019            com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil#normalize(
1020            String)}.
1021            * @param iconImage whether the icon image will be updated
1022            * @param iconBytes the byte array of the layout's new icon image
1023            * @param serviceContext the service context. Can set the modification date
1024            and expando bridge attributes for the layout. For layouts that
1025            are linked to a layout prototype, attributes named
1026            'layoutPrototypeUuid' and 'layoutPrototypeLinkedEnabled' can be
1027            specified to provide the unique identifier of the source
1028            prototype and a boolean to determined whether a link to it should
1029            be enabled to activate propagation of changes made to the linked
1030            page in the prototype.
1031            * @return the updated layout
1032            * @throws PortalException if a group or layout with the primary key could
1033            not be found, if a unique friendly URL could not be generated, if
1034            a valid parent layout ID to use could not be found, or if the
1035            layout parameters were invalid
1036            * @throws SystemException if a system exception occurred
1037            */
1038            public com.liferay.portal.model.Layout updateLayout(long groupId,
1039                    boolean privateLayout, long layoutId, long parentLayoutId,
1040                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1041                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
1042                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1043                    java.util.Map<java.util.Locale, java.lang.String> keywordsMap,
1044                    java.util.Map<java.util.Locale, java.lang.String> robotsMap,
1045                    java.lang.String type, boolean hidden, java.lang.String friendlyURL,
1046                    java.lang.Boolean iconImage, byte[] iconBytes,
1047                    com.liferay.portal.service.ServiceContext serviceContext)
1048                    throws com.liferay.portal.kernel.exception.PortalException,
1049                            com.liferay.portal.kernel.exception.SystemException;
1050    
1051            /**
1052            * Updates the layout replacing its type settings.
1053            *
1054            * @param groupId the primary key of the group
1055            * @param privateLayout whether the layout is private to the group
1056            * @param layoutId the primary key of the layout
1057            * @param typeSettings the settings to load the unicode properties object.
1058            See {@link com.liferay.portal.kernel.util.UnicodeProperties
1059            #fastLoad(String)}.
1060            * @return the updated layout
1061            * @throws PortalException if a matching layout could not be found
1062            * @throws SystemException if a system exception occurred
1063            */
1064            public com.liferay.portal.model.Layout updateLayout(long groupId,
1065                    boolean privateLayout, long layoutId, java.lang.String typeSettings)
1066                    throws com.liferay.portal.kernel.exception.PortalException,
1067                            com.liferay.portal.kernel.exception.SystemException;
1068    
1069            /**
1070            * Updates the look and feel of the layout.
1071            *
1072            * @param groupId the primary key of the group
1073            * @param privateLayout whether the layout is private to the group
1074            * @param layoutId the primary key of the layout
1075            * @param themeId the primary key of the layout's new theme
1076            * @param colorSchemeId the primary key of the layout's new color scheme
1077            * @param css the layout's new CSS
1078            * @param wapTheme whether the theme is for WAP browsers
1079            * @return the updated layout
1080            * @throws PortalException if a matching layout could not be found
1081            * @throws SystemException if a system exception occurred
1082            */
1083            public com.liferay.portal.model.Layout updateLookAndFeel(long groupId,
1084                    boolean privateLayout, long layoutId, java.lang.String themeId,
1085                    java.lang.String colorSchemeId, java.lang.String css, boolean wapTheme)
1086                    throws com.liferay.portal.kernel.exception.PortalException,
1087                            com.liferay.portal.kernel.exception.SystemException;
1088    
1089            /**
1090            * Updates the name of the layout.
1091            *
1092            * @param layout the layout to be updated
1093            * @param name the layout's new name
1094            * @param languageId the primary key of the language. For more information
1095            see {@link java.util.Locale}.
1096            * @return the updated layout
1097            * @throws PortalException if the new name was <code>null</code>
1098            * @throws SystemException if a system exception occurred
1099            */
1100            public com.liferay.portal.model.Layout updateName(
1101                    com.liferay.portal.model.Layout layout, java.lang.String name,
1102                    java.lang.String languageId)
1103                    throws com.liferay.portal.kernel.exception.PortalException,
1104                            com.liferay.portal.kernel.exception.SystemException;
1105    
1106            /**
1107            * Updates the name of the layout matching the group, layout ID, and
1108            * privacy.
1109            *
1110            * @param groupId the primary key of the group
1111            * @param privateLayout whether the layout is private to the group
1112            * @param layoutId the primary key of the layout
1113            * @param name the layout's new name
1114            * @param languageId the primary key of the language. For more information
1115            see {@link java.util.Locale}.
1116            * @return the updated layout
1117            * @throws PortalException if a matching layout could not be found or if the
1118            new name was <code>null</code>
1119            * @throws SystemException if a system exception occurred
1120            */
1121            public com.liferay.portal.model.Layout updateName(long groupId,
1122                    boolean privateLayout, long layoutId, java.lang.String name,
1123                    java.lang.String languageId)
1124                    throws com.liferay.portal.kernel.exception.PortalException,
1125                            com.liferay.portal.kernel.exception.SystemException;
1126    
1127            /**
1128            * Updates the name of the layout matching the primary key.
1129            *
1130            * @param plid the primary key of the layout
1131            * @param name the name to be assigned
1132            * @param languageId the primary key of the language. For more information
1133            see {@link java.util.Locale}.
1134            * @return the updated layout
1135            * @throws PortalException if a layout with the primary key could not be
1136            found or if the name was <code>null</code>
1137            * @throws SystemException if a system exception occurred
1138            */
1139            public com.liferay.portal.model.Layout updateName(long plid,
1140                    java.lang.String name, java.lang.String languageId)
1141                    throws com.liferay.portal.kernel.exception.PortalException,
1142                            com.liferay.portal.kernel.exception.SystemException;
1143    
1144            /**
1145            * Updates the parent layout ID of the layout matching the group, layout ID,
1146            * and privacy.
1147            *
1148            * @param groupId the primary key of the group
1149            * @param privateLayout whether the layout is private to the group
1150            * @param layoutId the primary key of the layout
1151            * @param parentLayoutId the primary key to be assigned to the parent
1152            layout
1153            * @return the matching layout
1154            * @throws PortalException if a valid parent layout ID to use could not be
1155            found or if a matching layout could not be found
1156            * @throws SystemException if a system exception occurred
1157            */
1158            public com.liferay.portal.model.Layout updateParentLayoutId(long groupId,
1159                    boolean privateLayout, long layoutId, long parentLayoutId)
1160                    throws com.liferay.portal.kernel.exception.PortalException,
1161                            com.liferay.portal.kernel.exception.SystemException;
1162    
1163            /**
1164            * Updates the parent layout ID of the layout matching the primary key. If a
1165            * layout matching the parent primary key is found, the layout ID of that
1166            * layout is assigned, otherwise {@link
1167            * com.liferay.portal.model.LayoutConstants#DEFAULT_PARENT_LAYOUT_ID} is
1168            * assigned.
1169            *
1170            * @param plid the primary key of the layout
1171            * @param parentPlid the primary key of the parent layout
1172            * @return the layout matching the primary key
1173            * @throws PortalException if a layout with the primary key could not be
1174            found or if a valid parent layout ID to use could not be found
1175            * @throws SystemException if a system exception occurred
1176            */
1177            public com.liferay.portal.model.Layout updateParentLayoutId(long plid,
1178                    long parentPlid)
1179                    throws com.liferay.portal.kernel.exception.PortalException,
1180                            com.liferay.portal.kernel.exception.SystemException;
1181    
1182            /**
1183            * Updates the priority of the layout.
1184            *
1185            * @param layout the layout to be updated
1186            * @param priority the layout's new priority
1187            * @return the updated layout
1188            * @throws SystemException if a system exception occurred
1189            */
1190            public com.liferay.portal.model.Layout updatePriority(
1191                    com.liferay.portal.model.Layout layout, int priority)
1192                    throws com.liferay.portal.kernel.exception.SystemException;
1193    
1194            /**
1195            * Updates the priority of the layout matching the group, layout ID, and
1196            * privacy.
1197            *
1198            * @param groupId the primary key of the group
1199            * @param privateLayout whether the layout is private to the group
1200            * @param layoutId the primary key of the layout
1201            * @param priority the layout's new priority
1202            * @return the updated layout
1203            * @throws PortalException if a matching layout could not be found
1204            * @throws SystemException if a system exception occurred
1205            */
1206            public com.liferay.portal.model.Layout updatePriority(long groupId,
1207                    boolean privateLayout, long layoutId, int priority)
1208                    throws com.liferay.portal.kernel.exception.PortalException,
1209                            com.liferay.portal.kernel.exception.SystemException;
1210    
1211            /**
1212            * Updates the priority of the layout matching the primary key.
1213            *
1214            * @param plid the primary key of the layout
1215            * @param priority the layout's new priority
1216            * @return the updated layout
1217            * @throws PortalException if a layout with the primary key could not be
1218            found
1219            * @throws SystemException if a system exception occurred
1220            */
1221            public com.liferay.portal.model.Layout updatePriority(long plid,
1222                    int priority)
1223                    throws com.liferay.portal.kernel.exception.PortalException,
1224                            com.liferay.portal.kernel.exception.SystemException;
1225    
1226            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1227                    long layoutId,
1228                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1229                    java.util.List<java.util.Locale> nameMapModifiedLocales)
1230                    throws com.liferay.portal.kernel.exception.PortalException,
1231                            com.liferay.portal.kernel.exception.SystemException;
1232    
1233            /**
1234            * Updates the names of the portlets within scope of the group, the scope of
1235            * the layout's universally unique identifier, and the privacy.
1236            *
1237            * @param groupId the primary key of the group
1238            * @param privateLayout whether the layout is private to the group
1239            * @param layoutId the primary key of the layout whose universally unique
1240            identifier to match
1241            * @param name the new name for the portlets
1242            * @param languageId the primary key of the language
1243            * @throws PortalException if a matching layout could not be found
1244            * @throws SystemException if a system exception occurred
1245            * @see com.liferay.portlet.portletconfiguration.action.EditScopeAction
1246            */
1247            public void updateScopedPortletNames(long groupId, boolean privateLayout,
1248                    long layoutId, java.lang.String name, java.lang.String languageId)
1249                    throws com.liferay.portal.kernel.exception.PortalException,
1250                            com.liferay.portal.kernel.exception.SystemException;
1251    }