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.asset.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 AssetCategory. 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 AssetCategoryLocalServiceUtil
037     * @see com.liferay.portlet.asset.service.base.AssetCategoryLocalServiceBaseImpl
038     * @see com.liferay.portlet.asset.service.impl.AssetCategoryLocalServiceImpl
039     * @generated
040     */
041    @ProviderType
042    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
043            PortalException.class, SystemException.class})
044    public interface AssetCategoryLocalService extends BaseLocalService,
045            PersistedModelLocalService {
046            /*
047             * NOTE FOR DEVELOPERS:
048             *
049             * Never modify or reference this interface directly. Always use {@link AssetCategoryLocalServiceUtil} to access the asset category local service. Add custom service methods to {@link com.liferay.portlet.asset.service.impl.AssetCategoryLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
050             */
051    
052            /**
053            * Adds the asset category to the database. Also notifies the appropriate model listeners.
054            *
055            * @param assetCategory the asset category
056            * @return the asset category that was added
057            */
058            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
059            public com.liferay.portlet.asset.model.AssetCategory addAssetCategory(
060                    com.liferay.portlet.asset.model.AssetCategory assetCategory);
061    
062            public void addAssetEntryAssetCategories(long entryId,
063                    java.util.List<com.liferay.portlet.asset.model.AssetCategory> AssetCategories);
064    
065            public void addAssetEntryAssetCategories(long entryId, long[] categoryIds);
066    
067            public void addAssetEntryAssetCategory(long entryId,
068                    com.liferay.portlet.asset.model.AssetCategory assetCategory);
069    
070            public void addAssetEntryAssetCategory(long entryId, long categoryId);
071    
072            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
073            public com.liferay.portlet.asset.model.AssetCategory addCategory(
074                    long userId, long parentCategoryId,
075                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
076                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
077                    long vocabularyId, java.lang.String[] categoryProperties,
078                    com.liferay.portal.service.ServiceContext serviceContext)
079                    throws com.liferay.portal.kernel.exception.PortalException;
080    
081            public com.liferay.portlet.asset.model.AssetCategory addCategory(
082                    long userId, java.lang.String title, long vocabularyId,
083                    com.liferay.portal.service.ServiceContext serviceContext)
084                    throws com.liferay.portal.kernel.exception.PortalException;
085    
086            public void addCategoryResources(
087                    com.liferay.portlet.asset.model.AssetCategory category,
088                    boolean addGroupPermissions, boolean addGuestPermissions)
089                    throws com.liferay.portal.kernel.exception.PortalException;
090    
091            public void addCategoryResources(
092                    com.liferay.portlet.asset.model.AssetCategory category,
093                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
094                    throws com.liferay.portal.kernel.exception.PortalException;
095    
096            public void clearAssetEntryAssetCategories(long entryId);
097    
098            /**
099            * Creates a new asset category with the primary key. Does not add the asset category to the database.
100            *
101            * @param categoryId the primary key for the new asset category
102            * @return the new asset category
103            */
104            public com.liferay.portlet.asset.model.AssetCategory createAssetCategory(
105                    long categoryId);
106    
107            /**
108            * Deletes the asset category from the database. Also notifies the appropriate model listeners.
109            *
110            * @param assetCategory the asset category
111            * @return the asset category that was removed
112            */
113            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
114            public com.liferay.portlet.asset.model.AssetCategory deleteAssetCategory(
115                    com.liferay.portlet.asset.model.AssetCategory assetCategory);
116    
117            /**
118            * Deletes the asset category with the primary key from the database. Also notifies the appropriate model listeners.
119            *
120            * @param categoryId the primary key of the asset category
121            * @return the asset category that was removed
122            * @throws PortalException if a asset category with the primary key could not be found
123            */
124            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
125            public com.liferay.portlet.asset.model.AssetCategory deleteAssetCategory(
126                    long categoryId)
127                    throws com.liferay.portal.kernel.exception.PortalException;
128    
129            public void deleteAssetEntryAssetCategories(long entryId,
130                    java.util.List<com.liferay.portlet.asset.model.AssetCategory> AssetCategories);
131    
132            public void deleteAssetEntryAssetCategories(long entryId, long[] categoryIds);
133    
134            public void deleteAssetEntryAssetCategory(long entryId,
135                    com.liferay.portlet.asset.model.AssetCategory assetCategory);
136    
137            public void deleteAssetEntryAssetCategory(long entryId, long categoryId);
138    
139            public void deleteCategories(
140                    java.util.List<com.liferay.portlet.asset.model.AssetCategory> categories)
141                    throws com.liferay.portal.kernel.exception.PortalException;
142    
143            public void deleteCategories(long[] categoryIds)
144                    throws com.liferay.portal.kernel.exception.PortalException;
145    
146            @com.liferay.portal.kernel.systemevent.SystemEvent(type = SystemEventConstants.TYPE_DELETE)
147            public com.liferay.portlet.asset.model.AssetCategory deleteCategory(
148                    com.liferay.portlet.asset.model.AssetCategory category)
149                    throws com.liferay.portal.kernel.exception.PortalException;
150    
151            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
152            public com.liferay.portlet.asset.model.AssetCategory deleteCategory(
153                    com.liferay.portlet.asset.model.AssetCategory category,
154                    boolean skipRebuildTree)
155                    throws com.liferay.portal.kernel.exception.PortalException;
156    
157            public com.liferay.portlet.asset.model.AssetCategory deleteCategory(
158                    long categoryId)
159                    throws com.liferay.portal.kernel.exception.PortalException;
160    
161            /**
162            * @throws PortalException
163            */
164            @Override
165            public com.liferay.portal.model.PersistedModel deletePersistedModel(
166                    com.liferay.portal.model.PersistedModel persistedModel)
167                    throws com.liferay.portal.kernel.exception.PortalException;
168    
169            public void deleteVocabularyCategories(long vocabularyId)
170                    throws com.liferay.portal.kernel.exception.PortalException;
171    
172            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
173    
174            /**
175            * Performs a dynamic query on the database and returns the matching rows.
176            *
177            * @param dynamicQuery the dynamic query
178            * @return the matching rows
179            */
180            public <T> java.util.List<T> dynamicQuery(
181                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
182    
183            /**
184            * Performs a dynamic query on the database and returns a range of the matching rows.
185            *
186            * <p>
187            * 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.asset.model.impl.AssetCategoryModelImpl}. 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.
188            * </p>
189            *
190            * @param dynamicQuery the dynamic query
191            * @param start the lower bound of the range of model instances
192            * @param end the upper bound of the range of model instances (not inclusive)
193            * @return the range of matching rows
194            */
195            public <T> java.util.List<T> dynamicQuery(
196                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
197                    int end);
198    
199            /**
200            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
201            *
202            * <p>
203            * 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.asset.model.impl.AssetCategoryModelImpl}. 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.
204            * </p>
205            *
206            * @param dynamicQuery the dynamic query
207            * @param start the lower bound of the range of model instances
208            * @param end the upper bound of the range of model instances (not inclusive)
209            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
210            * @return the ordered range of matching rows
211            */
212            public <T> java.util.List<T> dynamicQuery(
213                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
214                    int end,
215                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
216    
217            /**
218            * Returns the number of rows matching the dynamic query.
219            *
220            * @param dynamicQuery the dynamic query
221            * @return the number of rows matching the dynamic query
222            */
223            public long dynamicQueryCount(
224                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
225    
226            /**
227            * Returns the number of rows matching the dynamic query.
228            *
229            * @param dynamicQuery the dynamic query
230            * @param projection the projection to apply to the query
231            * @return the number of rows matching the dynamic query
232            */
233            public long dynamicQueryCount(
234                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
235                    com.liferay.portal.kernel.dao.orm.Projection projection);
236    
237            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
238            public com.liferay.portlet.asset.model.AssetCategory fetchAssetCategory(
239                    long categoryId);
240    
241            /**
242            * Returns the asset category matching the UUID and group.
243            *
244            * @param uuid the asset category's UUID
245            * @param groupId the primary key of the group
246            * @return the matching asset category, or <code>null</code> if a matching asset category could not be found
247            */
248            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
249            public com.liferay.portlet.asset.model.AssetCategory fetchAssetCategoryByUuidAndGroupId(
250                    java.lang.String uuid, long groupId);
251    
252            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
253            public com.liferay.portlet.asset.model.AssetCategory fetchCategory(
254                    long categoryId);
255    
256            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
257            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
258    
259            /**
260            * Returns a range of all the asset categories.
261            *
262            * <p>
263            * 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.asset.model.impl.AssetCategoryModelImpl}. 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.
264            * </p>
265            *
266            * @param start the lower bound of the range of asset categories
267            * @param end the upper bound of the range of asset categories (not inclusive)
268            * @return the range of asset categories
269            */
270            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
271            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetCategories(
272                    int start, int end);
273    
274            /**
275            * Returns all the asset categories matching the UUID and company.
276            *
277            * @param uuid the UUID of the asset categories
278            * @param companyId the primary key of the company
279            * @return the matching asset categories, or an empty list if no matches were found
280            */
281            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
282            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetCategoriesByUuidAndCompanyId(
283                    java.lang.String uuid, long companyId);
284    
285            /**
286            * Returns a range of asset categories matching the UUID and company.
287            *
288            * @param uuid the UUID of the asset categories
289            * @param companyId the primary key of the company
290            * @param start the lower bound of the range of asset categories
291            * @param end the upper bound of the range of asset categories (not inclusive)
292            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
293            * @return the range of matching asset categories, or an empty list if no matches were found
294            */
295            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
296            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetCategoriesByUuidAndCompanyId(
297                    java.lang.String uuid, long companyId, int start, int end,
298                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> orderByComparator);
299    
300            /**
301            * Returns the number of asset categories.
302            *
303            * @return the number of asset categories
304            */
305            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
306            public int getAssetCategoriesCount();
307    
308            /**
309            * Returns the asset category with the primary key.
310            *
311            * @param categoryId the primary key of the asset category
312            * @return the asset category
313            * @throws PortalException if a asset category with the primary key could not be found
314            */
315            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
316            public com.liferay.portlet.asset.model.AssetCategory getAssetCategory(
317                    long categoryId)
318                    throws com.liferay.portal.kernel.exception.PortalException;
319    
320            /**
321            * Returns the asset category matching the UUID and group.
322            *
323            * @param uuid the asset category's UUID
324            * @param groupId the primary key of the group
325            * @return the matching asset category
326            * @throws PortalException if a matching asset category could not be found
327            */
328            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
329            public com.liferay.portlet.asset.model.AssetCategory getAssetCategoryByUuidAndGroupId(
330                    java.lang.String uuid, long groupId)
331                    throws com.liferay.portal.kernel.exception.PortalException;
332    
333            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
334            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetEntryAssetCategories(
335                    long entryId);
336    
337            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
338            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetEntryAssetCategories(
339                    long entryId, int start, int end);
340    
341            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
342            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetEntryAssetCategories(
343                    long entryId, int start, int end,
344                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> orderByComparator);
345    
346            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
347            public int getAssetEntryAssetCategoriesCount(long entryId);
348    
349            /**
350            * Returns the entryIds of the asset entries associated with the asset category.
351            *
352            * @param categoryId the categoryId of the asset category
353            * @return long[] the entryIds of asset entries associated with the asset category
354            */
355            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
356            public long[] getAssetEntryPrimaryKeys(long categoryId);
357    
358            /**
359            * Returns the Spring bean ID for this bean.
360            *
361            * @return the Spring bean ID for this bean
362            */
363            public java.lang.String getBeanIdentifier();
364    
365            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
366            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getCategories();
367    
368            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
369            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getCategories(
370                    java.lang.String className, long classPK);
371    
372            @com.liferay.portal.kernel.cache.ThreadLocalCachable
373            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
374            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getCategories(
375                    long classNameId, long classPK);
376    
377            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
378            public com.liferay.portlet.asset.model.AssetCategory getCategory(
379                    long categoryId)
380                    throws com.liferay.portal.kernel.exception.PortalException;
381    
382            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
383            public com.liferay.portlet.asset.model.AssetCategory getCategory(
384                    java.lang.String uuid, long groupId)
385                    throws com.liferay.portal.kernel.exception.PortalException;
386    
387            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
388            public long[] getCategoryIds(java.lang.String className, long classPK);
389    
390            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
391            public java.lang.String[] getCategoryNames();
392    
393            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
394            public java.lang.String[] getCategoryNames(java.lang.String className,
395                    long classPK);
396    
397            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
398            public java.lang.String[] getCategoryNames(long classNameId, long classPK);
399    
400            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
401            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getChildCategories(
402                    long parentCategoryId);
403    
404            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
405            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getChildCategories(
406                    long parentCategoryId, int start, int end,
407                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
408    
409            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
410            public int getChildCategoriesCount(long parentCategoryId);
411    
412            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
413            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getEntryCategories(
414                    long entryId);
415    
416            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
417            public com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery getExportActionableDynamicQuery(
418                    com.liferay.portal.kernel.lar.PortletDataContext portletDataContext);
419    
420            @Override
421            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
422            public com.liferay.portal.model.PersistedModel getPersistedModel(
423                    java.io.Serializable primaryKeyObj)
424                    throws com.liferay.portal.kernel.exception.PortalException;
425    
426            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
427            public java.util.List<java.lang.Long> getSubcategoryIds(
428                    long parentCategoryId);
429    
430            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
431            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getVocabularyCategories(
432                    long parentCategoryId, long vocabularyId, int start, int end,
433                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
434    
435            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
436            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getVocabularyCategories(
437                    long vocabularyId, int start, int end,
438                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
439    
440            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
441            public int getVocabularyCategoriesCount(long vocabularyId);
442    
443            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
444            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getVocabularyRootCategories(
445                    long vocabularyId, int start, int end,
446                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
447    
448            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
449            public int getVocabularyRootCategoriesCount(long vocabularyId);
450    
451            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
452            public boolean hasAssetEntryAssetCategories(long entryId);
453    
454            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
455            public boolean hasAssetEntryAssetCategory(long entryId, long categoryId);
456    
457            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
458            public com.liferay.portlet.asset.model.AssetCategory mergeCategories(
459                    long fromCategoryId, long toCategoryId)
460                    throws com.liferay.portal.kernel.exception.PortalException;
461    
462            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
463            public com.liferay.portlet.asset.model.AssetCategory moveCategory(
464                    long categoryId, long parentCategoryId, long vocabularyId,
465                    com.liferay.portal.service.ServiceContext serviceContext)
466                    throws com.liferay.portal.kernel.exception.PortalException;
467    
468            public void rebuildTree(long groupId, boolean force);
469    
470            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
471            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> search(
472                    long groupId, java.lang.String name,
473                    java.lang.String[] categoryProperties, int start, int end);
474    
475            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
476            public com.liferay.portal.kernel.search.BaseModelSearchResult<com.liferay.portlet.asset.model.AssetCategory> searchCategories(
477                    long companyId, long[] groupIds, java.lang.String title,
478                    long[] parentCategoryIds, long[] vocabularyIds, int start, int end)
479                    throws com.liferay.portal.kernel.exception.PortalException;
480    
481            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
482            public com.liferay.portal.kernel.search.BaseModelSearchResult<com.liferay.portlet.asset.model.AssetCategory> searchCategories(
483                    long companyId, long groupIds, java.lang.String title,
484                    long vocabularyId, int start, int end)
485                    throws com.liferay.portal.kernel.exception.PortalException;
486    
487            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
488            public com.liferay.portal.kernel.search.BaseModelSearchResult<com.liferay.portlet.asset.model.AssetCategory> searchCategories(
489                    long companyId, long[] groupIds, java.lang.String title,
490                    long[] vocabularyIds, int start, int end)
491                    throws com.liferay.portal.kernel.exception.PortalException;
492    
493            public void setAssetEntryAssetCategories(long entryId, long[] categoryIds);
494    
495            /**
496            * Sets the Spring bean ID for this bean.
497            *
498            * @param beanIdentifier the Spring bean ID for this bean
499            */
500            public void setBeanIdentifier(java.lang.String beanIdentifier);
501    
502            /**
503            * Updates the asset category in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
504            *
505            * @param assetCategory the asset category
506            * @return the asset category that was updated
507            */
508            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
509            public com.liferay.portlet.asset.model.AssetCategory updateAssetCategory(
510                    com.liferay.portlet.asset.model.AssetCategory assetCategory);
511    
512            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
513            public com.liferay.portlet.asset.model.AssetCategory updateCategory(
514                    long userId, long categoryId, long parentCategoryId,
515                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
516                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
517                    long vocabularyId, java.lang.String[] categoryProperties,
518                    com.liferay.portal.service.ServiceContext serviceContext)
519                    throws com.liferay.portal.kernel.exception.PortalException;
520    }