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