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            @com.liferay.portal.kernel.systemevent.SystemEvent(type = SystemEventConstants.TYPE_DELETE)
140            public com.liferay.portlet.asset.model.AssetCategory deleteCategory(
141                    com.liferay.portlet.asset.model.AssetCategory category)
142                    throws com.liferay.portal.kernel.exception.PortalException;
143    
144            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
145            public com.liferay.portlet.asset.model.AssetCategory deleteCategory(
146                    com.liferay.portlet.asset.model.AssetCategory category,
147                    boolean childCategory)
148                    throws com.liferay.portal.kernel.exception.PortalException;
149    
150            public com.liferay.portlet.asset.model.AssetCategory deleteCategory(
151                    long categoryId)
152                    throws com.liferay.portal.kernel.exception.PortalException;
153    
154            /**
155            * @throws PortalException
156            */
157            @Override
158            public com.liferay.portal.model.PersistedModel deletePersistedModel(
159                    com.liferay.portal.model.PersistedModel persistedModel)
160                    throws com.liferay.portal.kernel.exception.PortalException;
161    
162            public void deleteVocabularyCategories(long vocabularyId)
163                    throws com.liferay.portal.kernel.exception.PortalException;
164    
165            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
166    
167            /**
168            * Performs a dynamic query on the database and returns the matching rows.
169            *
170            * @param dynamicQuery the dynamic query
171            * @return the matching rows
172            */
173            public <T> java.util.List<T> dynamicQuery(
174                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
175    
176            /**
177            * Performs a dynamic query on the database and returns a range of the matching rows.
178            *
179            * <p>
180            * 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.
181            * </p>
182            *
183            * @param dynamicQuery the dynamic query
184            * @param start the lower bound of the range of model instances
185            * @param end the upper bound of the range of model instances (not inclusive)
186            * @return the range of matching rows
187            */
188            public <T> java.util.List<T> dynamicQuery(
189                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
190                    int end);
191    
192            /**
193            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
194            *
195            * <p>
196            * 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.
197            * </p>
198            *
199            * @param dynamicQuery the dynamic query
200            * @param start the lower bound of the range of model instances
201            * @param end the upper bound of the range of model instances (not inclusive)
202            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
203            * @return the ordered range of matching rows
204            */
205            public <T> java.util.List<T> dynamicQuery(
206                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
207                    int end,
208                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
209    
210            /**
211            * Returns the number of rows that match the dynamic query.
212            *
213            * @param dynamicQuery the dynamic query
214            * @return the number of rows that match the dynamic query
215            */
216            public long dynamicQueryCount(
217                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
218    
219            /**
220            * Returns the number of rows that match the dynamic query.
221            *
222            * @param dynamicQuery the dynamic query
223            * @param projection the projection to apply to the query
224            * @return the number of rows that match the dynamic query
225            */
226            public long dynamicQueryCount(
227                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
228                    com.liferay.portal.kernel.dao.orm.Projection projection);
229    
230            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
231            public com.liferay.portlet.asset.model.AssetCategory fetchAssetCategory(
232                    long categoryId);
233    
234            /**
235            * Returns the asset category matching the UUID and group.
236            *
237            * @param uuid the asset category's UUID
238            * @param groupId the primary key of the group
239            * @return the matching asset category, or <code>null</code> if a matching asset category could not be found
240            */
241            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
242            public com.liferay.portlet.asset.model.AssetCategory fetchAssetCategoryByUuidAndGroupId(
243                    java.lang.String uuid, long groupId);
244    
245            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
246            public com.liferay.portlet.asset.model.AssetCategory fetchCategory(
247                    long categoryId);
248    
249            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
250            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
251    
252            /**
253            * Returns a range of all the asset categories.
254            *
255            * <p>
256            * 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.
257            * </p>
258            *
259            * @param start the lower bound of the range of asset categories
260            * @param end the upper bound of the range of asset categories (not inclusive)
261            * @return the range of asset categories
262            */
263            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
264            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetCategories(
265                    int start, int end);
266    
267            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
268            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetCategoriesByUuidAndCompanyId(
269                    java.lang.String uuid, long companyId);
270    
271            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
272            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetCategoriesByUuidAndCompanyId(
273                    java.lang.String uuid, long companyId, int start, int end,
274                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> orderByComparator);
275    
276            /**
277            * Returns the number of asset categories.
278            *
279            * @return the number of asset categories
280            */
281            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
282            public int getAssetCategoriesCount();
283    
284            /**
285            * Returns the asset category with the primary key.
286            *
287            * @param categoryId the primary key of the asset category
288            * @return the asset category
289            * @throws PortalException if a asset category with the primary key could not be found
290            */
291            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
292            public com.liferay.portlet.asset.model.AssetCategory getAssetCategory(
293                    long categoryId)
294                    throws com.liferay.portal.kernel.exception.PortalException;
295    
296            /**
297            * Returns the asset category matching the UUID and group.
298            *
299            * @param uuid the asset category's UUID
300            * @param groupId the primary key of the group
301            * @return the matching asset category
302            * @throws PortalException if a matching asset category could not be found
303            */
304            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
305            public com.liferay.portlet.asset.model.AssetCategory getAssetCategoryByUuidAndGroupId(
306                    java.lang.String uuid, long groupId)
307                    throws com.liferay.portal.kernel.exception.PortalException;
308    
309            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
310            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetEntryAssetCategories(
311                    long entryId);
312    
313            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
314            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetEntryAssetCategories(
315                    long entryId, int start, int end);
316    
317            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
318            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getAssetEntryAssetCategories(
319                    long entryId, int start, int end,
320                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> orderByComparator);
321    
322            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
323            public int getAssetEntryAssetCategoriesCount(long entryId);
324    
325            /**
326            * Returns the entryIds of the asset entries associated with the asset category.
327            *
328            * @param categoryId the categoryId of the asset category
329            * @return long[] the entryIds of asset entries associated with the asset category
330            */
331            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
332            public long[] getAssetEntryPrimaryKeys(long categoryId);
333    
334            /**
335            * Returns the Spring bean ID for this bean.
336            *
337            * @return the Spring bean ID for this bean
338            */
339            public java.lang.String getBeanIdentifier();
340    
341            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
342            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getCategories();
343    
344            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
345            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getCategories(
346                    java.lang.String className, long classPK);
347    
348            @com.liferay.portal.kernel.cache.ThreadLocalCachable
349            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
350            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getCategories(
351                    long classNameId, long classPK);
352    
353            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
354            public com.liferay.portlet.asset.model.AssetCategory getCategory(
355                    long categoryId)
356                    throws com.liferay.portal.kernel.exception.PortalException;
357    
358            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
359            public com.liferay.portlet.asset.model.AssetCategory getCategory(
360                    java.lang.String uuid, long groupId)
361                    throws com.liferay.portal.kernel.exception.PortalException;
362    
363            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
364            public long[] getCategoryIds(java.lang.String className, long classPK);
365    
366            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
367            public java.lang.String[] getCategoryNames();
368    
369            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
370            public java.lang.String[] getCategoryNames(java.lang.String className,
371                    long classPK);
372    
373            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
374            public java.lang.String[] getCategoryNames(long classNameId, long classPK);
375    
376            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
377            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getChildCategories(
378                    long parentCategoryId);
379    
380            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
381            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getChildCategories(
382                    long parentCategoryId, int start, int end,
383                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
384    
385            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
386            public int getChildCategoriesCount(long parentCategoryId);
387    
388            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
389            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getEntryCategories(
390                    long entryId);
391    
392            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
393            public com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery getExportActionableDynamicQuery(
394                    com.liferay.portal.kernel.lar.PortletDataContext portletDataContext);
395    
396            @Override
397            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
398            public com.liferay.portal.model.PersistedModel getPersistedModel(
399                    java.io.Serializable primaryKeyObj)
400                    throws com.liferay.portal.kernel.exception.PortalException;
401    
402            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
403            public java.util.List<java.lang.Long> getSubcategoryIds(
404                    long parentCategoryId);
405    
406            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
407            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getVocabularyCategories(
408                    long parentCategoryId, long vocabularyId, int start, int end,
409                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
410    
411            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
412            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getVocabularyCategories(
413                    long vocabularyId, int start, int end,
414                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
415    
416            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
417            public int getVocabularyCategoriesCount(long vocabularyId);
418    
419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
420            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> getVocabularyRootCategories(
421                    long vocabularyId, int start, int end,
422                    com.liferay.portal.kernel.util.OrderByComparator<com.liferay.portlet.asset.model.AssetCategory> obc);
423    
424            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
425            public int getVocabularyRootCategoriesCount(long vocabularyId);
426    
427            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
428            public boolean hasAssetEntryAssetCategories(long entryId);
429    
430            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
431            public boolean hasAssetEntryAssetCategory(long entryId, long categoryId);
432    
433            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
434            public com.liferay.portlet.asset.model.AssetCategory mergeCategories(
435                    long fromCategoryId, long toCategoryId)
436                    throws com.liferay.portal.kernel.exception.PortalException;
437    
438            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
439            public com.liferay.portlet.asset.model.AssetCategory moveCategory(
440                    long categoryId, long parentCategoryId, long vocabularyId,
441                    com.liferay.portal.service.ServiceContext serviceContext)
442                    throws com.liferay.portal.kernel.exception.PortalException;
443    
444            public void rebuildTree(long groupId, boolean force);
445    
446            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
447            public java.util.List<com.liferay.portlet.asset.model.AssetCategory> search(
448                    long groupId, java.lang.String name,
449                    java.lang.String[] categoryProperties, int start, int end);
450    
451            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
452            public com.liferay.portal.kernel.search.BaseModelSearchResult<com.liferay.portlet.asset.model.AssetCategory> searchCategories(
453                    long companyId, long[] groupIds, java.lang.String title,
454                    long[] parentCategoryIds, long[] vocabularyIds, int start, int end)
455                    throws com.liferay.portal.kernel.exception.PortalException;
456    
457            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
458            public com.liferay.portal.kernel.search.BaseModelSearchResult<com.liferay.portlet.asset.model.AssetCategory> searchCategories(
459                    long companyId, long groupIds, java.lang.String title,
460                    long vocabularyId, int start, int end)
461                    throws com.liferay.portal.kernel.exception.PortalException;
462    
463            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
464            public com.liferay.portal.kernel.search.BaseModelSearchResult<com.liferay.portlet.asset.model.AssetCategory> searchCategories(
465                    long companyId, long[] groupIds, java.lang.String title,
466                    long[] vocabularyIds, int start, int end)
467                    throws com.liferay.portal.kernel.exception.PortalException;
468    
469            public void setAssetEntryAssetCategories(long entryId, long[] categoryIds);
470    
471            /**
472            * Sets the Spring bean ID for this bean.
473            *
474            * @param beanIdentifier the Spring bean ID for this bean
475            */
476            public void setBeanIdentifier(java.lang.String beanIdentifier);
477    
478            /**
479            * Updates the asset category in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
480            *
481            * @param assetCategory the asset category
482            * @return the asset category that was updated
483            */
484            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
485            public com.liferay.portlet.asset.model.AssetCategory updateAssetCategory(
486                    com.liferay.portlet.asset.model.AssetCategory assetCategory);
487    
488            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
489            public com.liferay.portlet.asset.model.AssetCategory updateCategory(
490                    long userId, long categoryId, long parentCategoryId,
491                    java.util.Map<java.util.Locale, java.lang.String> titleMap,
492                    java.util.Map<java.util.Locale, java.lang.String> descriptionMap,
493                    long vocabularyId, java.lang.String[] categoryProperties,
494                    com.liferay.portal.service.ServiceContext serviceContext)
495                    throws com.liferay.portal.kernel.exception.PortalException;
496    }