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