001    /**
002     * Copyright (c) 2000-2012 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.portlet.dynamicdatamapping.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    import com.liferay.portal.service.BaseLocalService;
023    import com.liferay.portal.service.PersistedModelLocalService;
024    
025    /**
026     * The interface for the d d m structure local service.
027     *
028     * <p>
029     * 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.
030     * </p>
031     *
032     * @author Brian Wing Shun Chan
033     * @see DDMStructureLocalServiceUtil
034     * @see com.liferay.portlet.dynamicdatamapping.service.base.DDMStructureLocalServiceBaseImpl
035     * @see com.liferay.portlet.dynamicdatamapping.service.impl.DDMStructureLocalServiceImpl
036     * @generated
037     */
038    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
039            PortalException.class, SystemException.class})
040    public interface DDMStructureLocalService extends BaseLocalService,
041            PersistedModelLocalService {
042            /*
043             * NOTE FOR DEVELOPERS:
044             *
045             * Never modify or reference this interface directly. Always use {@link DDMStructureLocalServiceUtil} to access the d d m structure local service. Add custom service methods to {@link com.liferay.portlet.dynamicdatamapping.service.impl.DDMStructureLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
046             */
047    
048            /**
049            * Adds the d d m structure to the database. Also notifies the appropriate model listeners.
050            *
051            * @param ddmStructure the d d m structure
052            * @return the d d m structure that was added
053            * @throws SystemException if a system exception occurred
054            */
055            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure addDDMStructure(
056                    com.liferay.portlet.dynamicdatamapping.model.DDMStructure ddmStructure)
057                    throws com.liferay.portal.kernel.exception.SystemException;
058    
059            /**
060            * Creates a new d d m structure with the primary key. Does not add the d d m structure to the database.
061            *
062            * @param structureId the primary key for the new d d m structure
063            * @return the new d d m structure
064            */
065            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure createDDMStructure(
066                    long structureId);
067    
068            /**
069            * Deletes the d d m structure with the primary key from the database. Also notifies the appropriate model listeners.
070            *
071            * @param structureId the primary key of the d d m structure
072            * @return the d d m structure that was removed
073            * @throws PortalException if a d d m structure with the primary key could not be found
074            * @throws SystemException if a system exception occurred
075            */
076            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure deleteDDMStructure(
077                    long structureId)
078                    throws com.liferay.portal.kernel.exception.PortalException,
079                            com.liferay.portal.kernel.exception.SystemException;
080    
081            /**
082            * Deletes the d d m structure from the database. Also notifies the appropriate model listeners.
083            *
084            * @param ddmStructure the d d m structure
085            * @return the d d m structure that was removed
086            * @throws SystemException if a system exception occurred
087            */
088            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure deleteDDMStructure(
089                    com.liferay.portlet.dynamicdatamapping.model.DDMStructure ddmStructure)
090                    throws com.liferay.portal.kernel.exception.SystemException;
091    
092            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
093    
094            /**
095            * Performs a dynamic query on the database and returns the matching rows.
096            *
097            * @param dynamicQuery the dynamic query
098            * @return the matching rows
099            * @throws SystemException if a system exception occurred
100            */
101            @SuppressWarnings("rawtypes")
102            public java.util.List dynamicQuery(
103                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
104                    throws com.liferay.portal.kernel.exception.SystemException;
105    
106            /**
107            * Performs a dynamic query on the database and returns a range of the matching rows.
108            *
109            * <p>
110            * 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. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
111            * </p>
112            *
113            * @param dynamicQuery the dynamic query
114            * @param start the lower bound of the range of model instances
115            * @param end the upper bound of the range of model instances (not inclusive)
116            * @return the range of matching rows
117            * @throws SystemException if a system exception occurred
118            */
119            @SuppressWarnings("rawtypes")
120            public java.util.List dynamicQuery(
121                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
122                    int end) throws com.liferay.portal.kernel.exception.SystemException;
123    
124            /**
125            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
126            *
127            * <p>
128            * 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. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
129            * </p>
130            *
131            * @param dynamicQuery the dynamic query
132            * @param start the lower bound of the range of model instances
133            * @param end the upper bound of the range of model instances (not inclusive)
134            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
135            * @return the ordered range of matching rows
136            * @throws SystemException if a system exception occurred
137            */
138            @SuppressWarnings("rawtypes")
139            public java.util.List dynamicQuery(
140                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
141                    int end,
142                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
143                    throws com.liferay.portal.kernel.exception.SystemException;
144    
145            /**
146            * Returns the number of rows that match the dynamic query.
147            *
148            * @param dynamicQuery the dynamic query
149            * @return the number of rows that match the dynamic query
150            * @throws SystemException if a system exception occurred
151            */
152            public long dynamicQueryCount(
153                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
154                    throws com.liferay.portal.kernel.exception.SystemException;
155    
156            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
157            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure fetchDDMStructure(
158                    long structureId)
159                    throws com.liferay.portal.kernel.exception.SystemException;
160    
161            /**
162            * Returns the d d m structure with the primary key.
163            *
164            * @param structureId the primary key of the d d m structure
165            * @return the d d m structure
166            * @throws PortalException if a d d m structure with the primary key could not be found
167            * @throws SystemException if a system exception occurred
168            */
169            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
170            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure getDDMStructure(
171                    long structureId)
172                    throws com.liferay.portal.kernel.exception.PortalException,
173                            com.liferay.portal.kernel.exception.SystemException;
174    
175            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
176            public com.liferay.portal.model.PersistedModel getPersistedModel(
177                    java.io.Serializable primaryKeyObj)
178                    throws com.liferay.portal.kernel.exception.PortalException,
179                            com.liferay.portal.kernel.exception.SystemException;
180    
181            /**
182            * Returns the d d m structure with the UUID in the group.
183            *
184            * @param uuid the UUID of d d m structure
185            * @param groupId the group id of the d d m structure
186            * @return the d d m structure
187            * @throws PortalException if a d d m structure with the UUID in the group could not be found
188            * @throws SystemException if a system exception occurred
189            */
190            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
191            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure getDDMStructureByUuidAndGroupId(
192                    java.lang.String uuid, long groupId)
193                    throws com.liferay.portal.kernel.exception.PortalException,
194                            com.liferay.portal.kernel.exception.SystemException;
195    
196            /**
197            * Returns a range of all the d d m structures.
198            *
199            * <p>
200            * 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. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
201            * </p>
202            *
203            * @param start the lower bound of the range of d d m structures
204            * @param end the upper bound of the range of d d m structures (not inclusive)
205            * @return the range of d d m structures
206            * @throws SystemException if a system exception occurred
207            */
208            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
209            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getDDMStructures(
210                    int start, int end)
211                    throws com.liferay.portal.kernel.exception.SystemException;
212    
213            /**
214            * Returns the number of d d m structures.
215            *
216            * @return the number of d d m structures
217            * @throws SystemException if a system exception occurred
218            */
219            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
220            public int getDDMStructuresCount()
221                    throws com.liferay.portal.kernel.exception.SystemException;
222    
223            /**
224            * Updates the d d m structure in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
225            *
226            * @param ddmStructure the d d m structure
227            * @return the d d m structure that was updated
228            * @throws SystemException if a system exception occurred
229            */
230            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure updateDDMStructure(
231                    com.liferay.portlet.dynamicdatamapping.model.DDMStructure ddmStructure)
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 structure referencing its parent structure.
250            *
251            * @param userId the primary key of the structure's creator/owner
252            * @param groupId the primary key of the group
253            * @param parentStructureId the primary key of the parent structure
254            (optionally {@link
255            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants#DEFAULT_PARENT_STRUCTURE_ID})
256            * @param classNameId the primary key of the class name for the structure's
257            related model
258            * @param structureKey the unique string identifying the structure
259            (optionally <code>null</code>)
260            * @param nameMap the structure's locales and localized names
261            * @param descriptionMap the structure's locales and localized descriptions
262            * @param xsd the structure's XML schema definition
263            * @param storageType the structure's storage type. It can be "xml" or
264            "expando". For more information, see {@link
265            com.liferay.portlet.dynamicdatamapping.storage.StorageType}.
266            * @param type the structure's type. For more information, see {@link
267            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
268            * @param serviceContext the structure's service context. Can set the UUID,
269            creation date, modification date, guest permissions, and group
270            permissions for the structure.
271            * @return the structure
272            * @throws PortalException if a user with the primary key could not be
273            found, if the XSD was not well-formed, or if a portal exception
274            occurred
275            * @throws SystemException if a system exception occurred
276            */
277            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure addStructure(
278                    long userId, long groupId, long parentStructureId, long classNameId,
279                    java.lang.String structureKey,
280                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
281                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
282                    java.lang.String xsd, java.lang.String storageType, int type,
283                    com.liferay.portal.service.ServiceContext serviceContext)
284                    throws com.liferay.portal.kernel.exception.PortalException,
285                            com.liferay.portal.kernel.exception.SystemException;
286    
287            /**
288            * Adds a structure referencing a default parent structure, using the portal
289            * property <code>dynamic.data.lists.storage.type</code> storage type and
290            * default structure type.
291            *
292            * @param userId the primary key of the structure's creator/owner
293            * @param groupId the primary key of the group
294            * @param classNameId the primary key of the class name for the structure's
295            related model
296            * @param nameMap the structure's locales and localized names
297            * @param descriptionMap the structure's locales and localized descriptions
298            * @param xsd the structure's XML schema definition
299            * @param serviceContext the structure's service context. Can set the UUID,
300            creation date, modification date, guest permissions, and group
301            permissions for the structure.
302            * @return the structure
303            * @throws PortalException if a user with the primary key could not be
304            found, if the XSD was not well-formed, or if a portal exception
305            occurred
306            * @throws SystemException if a system exception occurred
307            */
308            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure addStructure(
309                    long userId, long groupId, long classNameId,
310                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
311                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
312                    java.lang.String xsd,
313                    com.liferay.portal.service.ServiceContext serviceContext)
314                    throws com.liferay.portal.kernel.exception.PortalException,
315                            com.liferay.portal.kernel.exception.SystemException;
316    
317            /**
318            * Adds a structure referencing a default parent structure if the parent
319            * structure is not found.
320            *
321            * @param userId the primary key of the structure's creator/owner
322            * @param groupId the primary key of the group
323            * @param parentStructureKey the unique string identifying the parent
324            structure (optionally <code>null</code>)
325            * @param classNameId the primary key of the class name for the structure's
326            related model
327            * @param structureKey the unique string identifying the structure
328            (optionally <code>null</code>)
329            * @param nameMap the structure's locales and localized names
330            * @param descriptionMap the structure's locales and localized descriptions
331            * @param xsd the structure's XML schema definition
332            * @param storageType the structure's storage type. It can be "xml" or
333            "expando". For more information, see {@link
334            com.liferay.portlet.dynamicdatamapping.storage.StorageType}.
335            * @param type the structure's type. For more information, see {@link
336            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
337            * @param serviceContext the structure's service context. Can set the UUID,
338            creation date, modification date, guest permissions and group
339            permissions for the structure.
340            * @return the structure
341            * @throws PortalException if a user with the primary key could not be
342            found, if the XSD was not well-formed, or if a portal exception
343            occurred
344            * @throws SystemException if a system exception occurred
345            */
346            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure addStructure(
347                    long userId, long groupId, java.lang.String parentStructureKey,
348                    long classNameId, java.lang.String structureKey,
349                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
350                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
351                    java.lang.String xsd, java.lang.String storageType, int type,
352                    com.liferay.portal.service.ServiceContext serviceContext)
353                    throws com.liferay.portal.kernel.exception.PortalException,
354                            com.liferay.portal.kernel.exception.SystemException;
355    
356            /**
357            * Adds the resources to the structure.
358            *
359            * @param structure the structure to add resources to
360            * @param addGroupPermissions whether to add group permissions
361            * @param addGuestPermissions whether to add guest permissions
362            * @throws PortalException if a portal exception occurred
363            * @throws SystemException if a system exception occurred
364            */
365            public void addStructureResources(
366                    com.liferay.portlet.dynamicdatamapping.model.DDMStructure structure,
367                    boolean addGroupPermissions, boolean addGuestPermissions)
368                    throws com.liferay.portal.kernel.exception.PortalException,
369                            com.liferay.portal.kernel.exception.SystemException;
370    
371            /**
372            * Adds the model resources with the permissions to the structure.
373            *
374            * @param structure the structure to add resources to
375            * @param groupPermissions the group permissions to be added
376            * @param guestPermissions the guest permissions to be added
377            * @throws PortalException if a portal exception occurred
378            * @throws SystemException if a system exception occurred
379            */
380            public void addStructureResources(
381                    com.liferay.portlet.dynamicdatamapping.model.DDMStructure structure,
382                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
383                    throws com.liferay.portal.kernel.exception.PortalException,
384                            com.liferay.portal.kernel.exception.SystemException;
385    
386            /**
387            * Copies a structure, creating a new structure with all the values
388            * extracted from the original one. The new structure supports a new name
389            * and description.
390            *
391            * @param userId the primary key of the structure's creator/owner
392            * @param structureId the primary key of the structure to be copied
393            * @param nameMap the new structure's locales and localized names
394            * @param descriptionMap the new structure's locales and localized
395            descriptions
396            * @param serviceContext the service context to be applied. Can set the
397            UUID, creation date, modification date, guest permissions, and
398            group permissions for the structure.
399            * @return the new structure
400            * @throws PortalException if a portal exception occurred
401            * @throws SystemException if a system exception occurred
402            */
403            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure copyStructure(
404                    long userId, long structureId,
405                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
406                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
407                    com.liferay.portal.service.ServiceContext serviceContext)
408                    throws com.liferay.portal.kernel.exception.PortalException,
409                            com.liferay.portal.kernel.exception.SystemException;
410    
411            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure copyStructure(
412                    long userId, long structureId,
413                    com.liferay.portal.service.ServiceContext serviceContext)
414                    throws com.liferay.portal.kernel.exception.PortalException,
415                            com.liferay.portal.kernel.exception.SystemException;
416    
417            /**
418            * Deletes the structure and its resources.
419            *
420            * <p>
421            * Before deleting the structure, this method verifies whether the structure
422            * is required by another entity. If it is needed, an exception is thrown.
423            * </p>
424            *
425            * @param structure the structure to be deleted
426            * @throws PortalException if a portal exception occurred
427            * @throws SystemException if a system exception occurred
428            */
429            public void deleteStructure(
430                    com.liferay.portlet.dynamicdatamapping.model.DDMStructure structure)
431                    throws com.liferay.portal.kernel.exception.PortalException,
432                            com.liferay.portal.kernel.exception.SystemException;
433    
434            /**
435            * Deletes the structure and its resources.
436            *
437            * <p>
438            * Before deleting the structure, the system verifies whether the structure
439            * is required by another entity. If it is needed, an exception is thrown.
440            * </p>
441            *
442            * @param structureId the primary key of the structure to be deleted
443            * @throws PortalException if a portal exception occurred
444            * @throws SystemException if a system exception occurred
445            */
446            public void deleteStructure(long structureId)
447                    throws com.liferay.portal.kernel.exception.PortalException,
448                            com.liferay.portal.kernel.exception.SystemException;
449    
450            /**
451            * Deletes the matching structure and its resources.
452            *
453            * <p>
454            * Before deleting the structure, the system verifies whether the structure
455            * is required by another entity. If it is needed, an exception is thrown.
456            * </p>
457            *
458            * @param groupId the primary key of the group
459            * @param classNameId the primary key of the class name for the structure's
460            related model
461            * @param structureKey the unique string identifying the structure
462            * @throws PortalException if a portal exception occurred
463            * @throws SystemException if a system exception occurred
464            */
465            public void deleteStructure(long groupId, long classNameId,
466                    java.lang.String structureKey)
467                    throws com.liferay.portal.kernel.exception.PortalException,
468                            com.liferay.portal.kernel.exception.SystemException;
469    
470            /**
471            * Deletes all the structures of the group.
472            *
473            * <p>
474            * Before deleting the structures, the system verifies whether each
475            * structure is required by another entity. If any of the structures are
476            * needed, an exception is thrown.
477            * </p>
478            *
479            * @param groupId the primary key of the group
480            * @throws PortalException if a portal exception occurred
481            * @throws SystemException if a system exception occurred
482            */
483            public void deleteStructures(long groupId)
484                    throws com.liferay.portal.kernel.exception.PortalException,
485                            com.liferay.portal.kernel.exception.SystemException;
486    
487            /**
488            * Returns the structure with the ID.
489            *
490            * @param structureId the primary key of the structure
491            * @return the structure with the structure ID, or <code>null</code> if a
492            matching structure could not be found
493            * @throws SystemException if a system exception occurred
494            */
495            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
496            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure fetchStructure(
497                    long structureId)
498                    throws com.liferay.portal.kernel.exception.SystemException;
499    
500            /**
501            * Returns the structure matching the class name ID, structure key, and
502            * group.
503            *
504            * @param groupId the primary key of the group
505            * @param classNameId the primary key of the class name for the structure's
506            related model
507            * @param structureKey the unique string identifying the structure
508            * @return the matching structure, or <code>null</code> if a matching
509            structure could not be found
510            * @throws SystemException if a system exception occurred
511            */
512            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
513            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure fetchStructure(
514                    long groupId, long classNameId, java.lang.String structureKey)
515                    throws com.liferay.portal.kernel.exception.SystemException;
516    
517            /**
518            * Returns the structure matching the class name ID, structure key, and
519            * group, optionally in the global scope.
520            *
521            * <p>
522            * This method first searches in the group. If the structure is still not
523            * found and <code>includeGlobalStructures</code> is set to
524            * <code>true</code>, this method searches the global group.
525            * </p>
526            *
527            * @param groupId the primary key of the group
528            * @param classNameId the primary key of the class name for the structure's
529            related model
530            * @param structureKey the unique string identifying the structure
531            * @param includeGlobalStructures whether to include the global scope in
532            the search
533            * @return the matching structure, or <code>null</code> if a matching
534            structure could not be found
535            * @throws PortalException if a portal exception occurred
536            * @throws SystemException if a system exception occurred
537            */
538            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
539            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure fetchStructure(
540                    long groupId, long classNameId, java.lang.String structureKey,
541                    boolean includeGlobalStructures)
542                    throws com.liferay.portal.kernel.exception.PortalException,
543                            com.liferay.portal.kernel.exception.SystemException;
544    
545            /**
546            * Returns the structure matching the UUID and group.
547            *
548            * @param uuid the structure's UUID
549            * @param groupId the primary key of the structure's group
550            * @return the matching structure, or <code>null</code> if a matching
551            structure could not be found
552            * @throws SystemException if a system exception occurred
553            */
554            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
555            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure fetchStructure(
556                    java.lang.String uuid, long groupId)
557                    throws com.liferay.portal.kernel.exception.SystemException;
558    
559            /**
560            * @deprecated {@link #getClassStructures(long, long)}
561            */
562            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
563            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getClassStructures(
564                    long classNameId)
565                    throws com.liferay.portal.kernel.exception.SystemException;
566    
567            /**
568            * @deprecated {@link #getClassStructures(long, long, int, int)}
569            */
570            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
571            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getClassStructures(
572                    long classNameId, int start, int end)
573                    throws com.liferay.portal.kernel.exception.SystemException;
574    
575            /**
576            * Returns all the structures matching the class name ID.
577            *
578            * @param companyId the primary key of the structure's company
579            * @param classNameId the primary key of the class name for the structure's
580            related model
581            * @return the structures matching the class name ID
582            * @throws SystemException if a system exception occurred
583            */
584            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
585            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getClassStructures(
586                    long companyId, long classNameId)
587                    throws com.liferay.portal.kernel.exception.SystemException;
588    
589            /**
590            * Returns a range of all the structures matching the class name ID.
591            *
592            * <p>
593            * Useful when paginating results. Returns a maximum of <code>end -
594            * start</code> instances. <code>start</code> and <code>end</code> are not
595            * primary keys, they are indexes in the result set. Thus, <code>0</code>
596            * refers to the first result in the set. Setting both <code>start</code>
597            * and <code>end</code> to {@link
598            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
599            * result set.
600            * </p>
601            *
602            * @param companyId the primary key of the structure's company
603            * @param classNameId the primary key of the class name for the structure's
604            related model
605            * @param start the lower bound of the range of structures to return
606            * @param end the upper bound of the range of structures to return (not
607            inclusive)
608            * @return the range of matching structures
609            * @throws SystemException if a system exception occurred
610            */
611            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
612            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getClassStructures(
613                    long companyId, long classNameId, int start, int end)
614                    throws com.liferay.portal.kernel.exception.SystemException;
615    
616            /**
617            * Returns all the structures matching the class name ID ordered by the
618            * comparator.
619            *
620            * @param companyId the primary key of the structure's company
621            * @param classNameId the primary key of the class name for the structure's
622            related model
623            * @param orderByComparator the comparator to order the structures
624            (optionally <code>null</code>)
625            * @return the matching structures ordered by the comparator
626            * @throws SystemException if a system exception occurred
627            */
628            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
629            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getClassStructures(
630                    long companyId, long classNameId,
631                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
632                    throws com.liferay.portal.kernel.exception.SystemException;
633    
634            /**
635            * @deprecated {@link #getClassStructures(long, long, OrderByComparator)}
636            */
637            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
638            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getClassStructures(
639                    long classNameId,
640                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
641                    throws com.liferay.portal.kernel.exception.SystemException;
642    
643            /**
644            * Returns all the structures for the document library file entry type.
645            *
646            * @param dlFileEntryTypeId the primary key of the document library file
647            entry type
648            * @return the structures for the document library file entry type
649            * @throws SystemException if a system exception occurred
650            */
651            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
652            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getDLFileEntryTypeStructures(
653                    long dlFileEntryTypeId)
654                    throws com.liferay.portal.kernel.exception.SystemException;
655    
656            /**
657            * Returns the structure with the ID.
658            *
659            * @param structureId the primary key of the structure
660            * @return the structure with the ID
661            * @throws PortalException if a structure with the ID could not be found
662            * @throws SystemException if a system exception occurred
663            */
664            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
665            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure getStructure(
666                    long structureId)
667                    throws com.liferay.portal.kernel.exception.PortalException,
668                            com.liferay.portal.kernel.exception.SystemException;
669    
670            /**
671            * Returns the structure matching the class name ID, structure key, and
672            * group.
673            *
674            * @param groupId the primary key of the structure's group
675            * @param classNameId the primary key of the class name for the structure's
676            related model
677            * @param structureKey the unique string identifying the structure
678            * @return the matching structure
679            * @throws PortalException if a matching structure could not be found
680            * @throws SystemException if a system exception occurred
681            */
682            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
683            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure getStructure(
684                    long groupId, long classNameId, java.lang.String structureKey)
685                    throws com.liferay.portal.kernel.exception.PortalException,
686                            com.liferay.portal.kernel.exception.SystemException;
687    
688            /**
689            * Returns the structure matching the class name ID, structure key, and
690            * group, optionally in the global scope.
691            *
692            * <p>
693            * This method first searches in the group. If the structure is still not
694            * found and <code>includeGlobalStructures</code> is set to
695            * <code>true</code>, this method searches the global group.
696            * </p>
697            *
698            * @param groupId the primary key of the structure's group
699            * @param classNameId the primary key of the class name for the structure's
700            related model
701            * @param structureKey the unique string identifying the structure
702            * @param includeGlobalStructures whether to include the global scope in
703            the search
704            * @return the matching structure
705            * @throws PortalException if a matching structure could not be found
706            * @throws SystemException if a system exception occurred
707            */
708            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
709            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure getStructure(
710                    long groupId, long classNameId, java.lang.String structureKey,
711                    boolean includeGlobalStructures)
712                    throws com.liferay.portal.kernel.exception.PortalException,
713                            com.liferay.portal.kernel.exception.SystemException;
714    
715            /**
716            * Returns all the structures matching the group, name, and description.
717            *
718            * @param groupId the primary key of the structure's group
719            * @param name the structure's name
720            * @param description the structure's description
721            * @return the matching structures
722            * @throws SystemException if a system exception occurred
723            */
724            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
725            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructure(
726                    long groupId, java.lang.String name, java.lang.String description)
727                    throws com.liferay.portal.kernel.exception.SystemException;
728    
729            /**
730            * @deprecated {@link #getStructures}
731            */
732            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
733            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructureEntries()
734                    throws com.liferay.portal.kernel.exception.SystemException;
735    
736            /**
737            * @deprecated {@link #getStructures(long)}
738            */
739            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
740            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructureEntries(
741                    long groupId)
742                    throws com.liferay.portal.kernel.exception.SystemException;
743    
744            /**
745            * @deprecated {@link #getStructures(long, int, int)}
746            */
747            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
748            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructureEntries(
749                    long groupId, int start, int end)
750                    throws com.liferay.portal.kernel.exception.SystemException;
751    
752            /**
753            * Returns all the structures present in the system.
754            *
755            * @return the structures present in the system
756            * @throws SystemException if a system exception occurred
757            */
758            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
759            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures()
760                    throws com.liferay.portal.kernel.exception.SystemException;
761    
762            /**
763            * Returns all the structures present in the group.
764            *
765            * @param groupId the primary key of the group
766            * @return the structures present in the group
767            * @throws SystemException if a system exception occurred
768            */
769            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
770            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
771                    long groupId)
772                    throws com.liferay.portal.kernel.exception.SystemException;
773    
774            /**
775            * Returns a range of all the structures belonging to the group.
776            *
777            * <p>
778            * Useful when paginating results. Returns a maximum of <code>end -
779            * start</code> instances. <code>start</code> and <code>end</code> are not
780            * primary keys, they are indexes in the result set. Thus, <code>0</code>
781            * refers to the first result in the set. Setting both <code>start</code>
782            * and <code>end</code> to {@link
783            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
784            * result set.
785            * </p>
786            *
787            * @param groupId the primary key of the group
788            * @param start the lower bound of the range of structures to return
789            * @param end the upper bound of the range of structures to return (not
790            inclusive)
791            * @return the range of matching structures, or <code>null</code> if no
792            matches could be found
793            * @throws SystemException if a system exception occurred
794            */
795            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
796            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
797                    long groupId, int start, int end)
798                    throws com.liferay.portal.kernel.exception.SystemException;
799    
800            /**
801            * Returns all the structures matching class name ID and group.
802            *
803            * @param groupId the primary key of the group
804            * @param classNameId the primary key of the class name for the structure's
805            related model
806            * @return the matching structures
807            * @throws SystemException if a system exception occurred
808            */
809            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
810            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
811                    long groupId, long classNameId)
812                    throws com.liferay.portal.kernel.exception.SystemException;
813    
814            /**
815            * Returns a range of all the structures that match the class name ID and
816            * group.
817            *
818            * <p>
819            * Useful when paginating results. Returns a maximum of <code>end -
820            * start</code> instances. <code>start</code> and <code>end</code> are not
821            * primary keys, they are indexes in the result set. Thus, <code>0</code>
822            * refers to the first result in the set. Setting both <code>start</code>
823            * and <code>end</code> to {@link
824            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
825            * result set.
826            * </p>
827            *
828            * @param groupId the primary key of the group
829            * @param classNameId the primary key of the class name for the structure's
830            related model
831            * @param start the lower bound of the range of structures to return
832            * @param end the upper bound of the range of structures to return (not
833            inclusive)
834            * @return the matching structures, or <code>null</code> if no matching
835            structures could be found
836            * @throws SystemException if a system exception occurred
837            */
838            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
839            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
840                    long groupId, long classNameId, int start, int end)
841                    throws com.liferay.portal.kernel.exception.SystemException;
842    
843            /**
844            * Returns an ordered range of all the structures matching the class name ID
845            * and group.
846            *
847            * <p>
848            * Useful when paginating results. Returns a maximum of <code>end -
849            * start</code> instances. <code>start</code> and <code>end</code> are not
850            * primary keys, they are indexes in the result set. Thus, <code>0</code>
851            * refers to the first result in the set. Setting both <code>start</code>
852            * and <code>end</code> to {@link
853            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
854            * result set.
855            * </p>
856            *
857            * @param groupId the primary key of the group
858            * @param classNameId the primary key of the class name for the structure's
859            related model
860            * @param start the lower bound of the range of structures to return
861            * @param end the upper bound of the range of structures to return (not
862            inclusive)
863            * @param orderByComparator the comparator to order the structures
864            (optionally <code>null</code>)
865            * @return the range of matching structures ordered by the comparator
866            * @throws SystemException if a system exception occurred
867            */
868            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
869            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
870                    long groupId, long classNameId, int start, int end,
871                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
872                    throws com.liferay.portal.kernel.exception.SystemException;
873    
874            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
875            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
876                    long groupId, java.lang.String name, java.lang.String description)
877                    throws com.liferay.portal.kernel.exception.SystemException;
878    
879            /**
880            * Returns all the structures belonging to the groups.
881            *
882            * @param groupIds the primary keys of the groups
883            * @return the structures belonging to the groups
884            * @throws SystemException if a system exception occurred
885            */
886            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
887            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> getStructures(
888                    long[] groupIds)
889                    throws com.liferay.portal.kernel.exception.SystemException;
890    
891            /**
892            * Returns the number of structures belonging to the group.
893            *
894            * @param groupId the primary key of the group
895            * @return the number of structures belonging to the group
896            * @throws SystemException if a system exception occurred
897            */
898            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
899            public int getStructuresCount(long groupId)
900                    throws com.liferay.portal.kernel.exception.SystemException;
901    
902            /**
903            * Returns the number of structures matching the class name ID and group.
904            *
905            * @param groupId the primary key of the group
906            * @param classNameId the primary key of the class name for the structure's
907            related model
908            * @return the number of matching structures
909            * @throws SystemException if a system exception occurred
910            */
911            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
912            public int getStructuresCount(long groupId, long classNameId)
913                    throws com.liferay.portal.kernel.exception.SystemException;
914    
915            /**
916            * Returns an ordered range of all the structures matching the groups and
917            * class name IDs, and matching the keywords in the structure names and
918            * descriptions.
919            *
920            * <p>
921            * Useful when paginating results. Returns a maximum of <code>end -
922            * start</code> instances. <code>start</code> and <code>end</code> are not
923            * primary keys, they are indexes in the result set. Thus, <code>0</code>
924            * refers to the first result in the set. Setting both <code>start</code>
925            * and <code>end</code> to {@link
926            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
927            * result set.
928            * </p>
929            *
930            * @param companyId the primary key of the structure's company
931            * @param groupIds the primary keys of the groups
932            * @param classNameIds the primary keys of the class names of the models
933            the structures are related to
934            * @param keywords the keywords (space separated), which may occur in the
935            structure's name or description (optionally <code>null</code>)
936            * @param start the lower bound of the range of structures to return
937            * @param end the upper bound of the range of structures to return (not
938            inclusive)
939            * @param orderByComparator the comparator to order the structures
940            (optionally <code>null</code>)
941            * @return the range of matching structures ordered by the comparator
942            * @throws SystemException if a system exception occurred
943            */
944            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
945            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> search(
946                    long companyId, long[] groupIds, long[] classNameIds,
947                    java.lang.String keywords, int start, int end,
948                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
949                    throws com.liferay.portal.kernel.exception.SystemException;
950    
951            /**
952            * Returns an ordered range of all the structures matching the groups, class
953            * name IDs, name keyword, description keyword, storage type, and type.
954            *
955            * <p>
956            * Useful when paginating results. Returns a maximum of <code>end -
957            * start</code> instances. <code>start</code> and <code>end</code> are not
958            * primary keys, they are indexes in the result set. Thus, <code>0</code>
959            * refers to the first result in the set. Setting both <code>start</code>
960            * and <code>end</code> to {@link
961            * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full
962            * result set.
963            * </p>
964            *
965            * @param companyId the primary key of the structure's company
966            * @param groupIds the primary keys of the groups
967            * @param classNameIds the primary keys of the class names of the models
968            the structures are related to
969            * @param name the name keywords
970            * @param description the description keywords
971            * @param storageType the structure's storage type. It can be "xml" or
972            "expando". For more information, see {@link
973            com.liferay.portlet.dynamicdatamapping.storage.StorageType}.
974            * @param type the structure's type. For more information, see {@link
975            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
976            * @param andOperator whether every field must match its keywords, or just
977            one field
978            * @param start the lower bound of the range of structures to return
979            * @param end the upper bound of the range of structures to return (not
980            inclusive)
981            * @param orderByComparator the comparator to order the structures
982            (optionally <code>null</code>)
983            * @return the range of matching structures ordered by the comparator
984            * @throws SystemException if a system exception occurred
985            */
986            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
987            public java.util.List<com.liferay.portlet.dynamicdatamapping.model.DDMStructure> search(
988                    long companyId, long[] groupIds, long[] classNameIds,
989                    java.lang.String name, java.lang.String description,
990                    java.lang.String storageType, int type, boolean andOperator, int start,
991                    int end,
992                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
993                    throws com.liferay.portal.kernel.exception.SystemException;
994    
995            /**
996            * Returns the number of structures matching the groups and class name IDs,
997            * and matching the keywords in the structure names and descriptions.
998            *
999            * @param companyId the primary key of the structure's company
1000            * @param groupIds the primary keys of the groups
1001            * @param classNameIds the primary keys of the class names of the models
1002            the structures are related to
1003            * @param keywords the keywords (space separated), which may occur in the
1004            structure's name or description (optionally <code>null</code>)
1005            * @return the number of matching structures
1006            * @throws SystemException if a system exception occurred
1007            */
1008            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1009            public int searchCount(long companyId, long[] groupIds,
1010                    long[] classNameIds, java.lang.String keywords)
1011                    throws com.liferay.portal.kernel.exception.SystemException;
1012    
1013            /**
1014            * Returns the number of structures matching the groups, class name IDs,
1015            * name keyword, description keyword, storage type, and type
1016            *
1017            * @param companyId the primary key of the structure's company
1018            * @param groupIds the primary keys of the groups
1019            * @param classNameIds the primary keys of the class names of the models
1020            the structure's are related to
1021            * @param name the name keywords
1022            * @param description the description keywords
1023            * @param storageType the structure's storage type. It can be "xml" or
1024            "expando". For more information, see {@link
1025            com.liferay.portlet.dynamicdatamapping.storage.StorageType}.
1026            * @param type the structure's type. For more information, see {@link
1027            com.liferay.portlet.dynamicdatamapping.model.DDMStructureConstants}.
1028            * @param andOperator whether every field must match its keywords, or just
1029            one field
1030            * @return the number of matching structures
1031            * @throws SystemException if a system exception occurred
1032            */
1033            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
1034            public int searchCount(long companyId, long[] groupIds,
1035                    long[] classNameIds, java.lang.String name,
1036                    java.lang.String description, java.lang.String storageType, int type,
1037                    boolean andOperator)
1038                    throws com.liferay.portal.kernel.exception.SystemException;
1039    
1040            /**
1041            * Updates the structure matching the class name ID, structure key, and
1042            * group, replacing its old parent structure, name map, description map, and
1043            * XSD with new ones.
1044            *
1045            * @param groupId the primary key of the group
1046            * @param parentStructureId the primary key of the new parent structure
1047            * @param classNameId the primary key of the class name for the structure's
1048            related model
1049            * @param structureKey the unique string identifying the structure
1050            * @param nameMap the structure's new locales and localized names
1051            * @param descriptionMap the structure's new locales and localized
1052            description
1053            * @param xsd the structure's new XML schema definition
1054            * @param serviceContext the service context to be applied. Can set the
1055            structure's modification date.
1056            * @return the updated structure
1057            * @throws PortalException if a matching structure could not be found, if
1058            the XSD was not well-formed, or if a portal exception occurred
1059            * @throws SystemException if a system exception occurred
1060            */
1061            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure updateStructure(
1062                    long groupId, long parentStructureId, long classNameId,
1063                    java.lang.String structureKey,
1064                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1065                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1066                    java.lang.String xsd,
1067                    com.liferay.portal.service.ServiceContext serviceContext)
1068                    throws com.liferay.portal.kernel.exception.PortalException,
1069                            com.liferay.portal.kernel.exception.SystemException;
1070    
1071            /**
1072            * Updates the structure matching the structure ID, replacing its old parent
1073            * structure, name map, description map, and XSD with new ones.
1074            *
1075            * @param structureId the primary key of the structure
1076            * @param parentStructureId the primary key of the new parent structure
1077            * @param nameMap the structure's new locales and localized names
1078            * @param descriptionMap the structure's new locales and localized
1079            descriptions
1080            * @param xsd the structure's new XML schema definition
1081            * @param serviceContext the service context to be applied. Can set the
1082            structure's modification date.
1083            * @return the updated structure
1084            * @throws PortalException if a matching structure could not be found, if
1085            the XSD was not well-formed, or if a portal exception occurred
1086            * @throws SystemException if a system exception occurred
1087            */
1088            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure updateStructure(
1089                    long structureId, long parentStructureId,
1090                    java.util.Map<java.util.Locale, java.lang.String> nameMap,
1091                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
1092                    java.lang.String xsd,
1093                    com.liferay.portal.service.ServiceContext serviceContext)
1094                    throws com.liferay.portal.kernel.exception.PortalException,
1095                            com.liferay.portal.kernel.exception.SystemException;
1096    
1097            /**
1098            * Updates the structure matching the structure ID, replacing its XSD with a
1099            * new one.
1100            *
1101            * @param structureId the primary key of the structure
1102            * @param xsd the structure's new XML schema definition
1103            * @param serviceContext the service context to be applied. Can set the
1104            structure's modification date.
1105            * @return the updated structure
1106            * @throws PortalException if a matching structure could not be found, if
1107            the XSD was not well-formed, or if a portal exception occurred
1108            * @throws SystemException if a system exception occurred
1109            */
1110            public com.liferay.portlet.dynamicdatamapping.model.DDMStructure updateXSD(
1111                    long structureId, java.lang.String xsd,
1112                    com.liferay.portal.service.ServiceContext serviceContext)
1113                    throws com.liferay.portal.kernel.exception.PortalException,
1114                            com.liferay.portal.kernel.exception.SystemException;
1115    
1116            /**
1117            * Updates the structure matching the structure ID, replacing the metadata
1118            * entry of the named field.
1119            *
1120            * @param structureId the primary key of the structure
1121            * @param fieldName the name of the field whose metadata to update
1122            * @param metadataEntryName the metadata entry's name
1123            * @param metadataEntryValue the metadata entry's value
1124            * @param serviceContext the service context to be applied. Can set the
1125            structure's modification date.
1126            * @throws PortalException if a matching structure could not be found, if
1127            the XSD was not well-formed, or if a portal exception occurred
1128            * @throws SystemException if a system exception occurred
1129            */
1130            public void updateXSDFieldMetadata(long structureId,
1131                    java.lang.String fieldName, java.lang.String metadataEntryName,
1132                    java.lang.String metadataEntryValue,
1133                    com.liferay.portal.service.ServiceContext serviceContext)
1134                    throws com.liferay.portal.kernel.exception.PortalException,
1135                            com.liferay.portal.kernel.exception.SystemException;
1136    }