001    /**
002     * Copyright (c) 2000-2013 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.service.BaseLocalService;
026    import com.liferay.portal.service.PersistedModelLocalService;
027    
028    /**
029     * Provides the local service interface for AssetTag. Methods of this
030     * service will not have security checks based on the propagated JAAS
031     * credentials because this service can only be accessed from within the same
032     * VM.
033     *
034     * @author Brian Wing Shun Chan
035     * @see AssetTagLocalServiceUtil
036     * @see com.liferay.portlet.asset.service.base.AssetTagLocalServiceBaseImpl
037     * @see com.liferay.portlet.asset.service.impl.AssetTagLocalServiceImpl
038     * @generated
039     */
040    @ProviderType
041    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
042            PortalException.class, SystemException.class})
043    public interface AssetTagLocalService extends BaseLocalService,
044            PersistedModelLocalService {
045            /*
046             * NOTE FOR DEVELOPERS:
047             *
048             * Never modify or reference this interface directly. Always use {@link AssetTagLocalServiceUtil} to access the asset tag local service. Add custom service methods to {@link com.liferay.portlet.asset.service.impl.AssetTagLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
049             */
050    
051            /**
052            * Adds the asset tag to the database. Also notifies the appropriate model listeners.
053            *
054            * @param assetTag the asset tag
055            * @return the asset tag that was added
056            * @throws SystemException if a system exception occurred
057            */
058            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
059            public com.liferay.portlet.asset.model.AssetTag addAssetTag(
060                    com.liferay.portlet.asset.model.AssetTag assetTag)
061                    throws com.liferay.portal.kernel.exception.SystemException;
062    
063            /**
064            * Creates a new asset tag with the primary key. Does not add the asset tag to the database.
065            *
066            * @param tagId the primary key for the new asset tag
067            * @return the new asset tag
068            */
069            public com.liferay.portlet.asset.model.AssetTag createAssetTag(long tagId);
070    
071            /**
072            * Deletes the asset tag with the primary key from the database. Also notifies the appropriate model listeners.
073            *
074            * @param tagId the primary key of the asset tag
075            * @return the asset tag that was removed
076            * @throws PortalException if a asset tag with the primary key could not be found
077            * @throws SystemException if a system exception occurred
078            */
079            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
080            public com.liferay.portlet.asset.model.AssetTag deleteAssetTag(long tagId)
081                    throws com.liferay.portal.kernel.exception.PortalException,
082                            com.liferay.portal.kernel.exception.SystemException;
083    
084            /**
085            * Deletes the asset tag from the database. Also notifies the appropriate model listeners.
086            *
087            * @param assetTag the asset tag
088            * @return the asset tag that was removed
089            * @throws SystemException if a system exception occurred
090            */
091            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
092            public com.liferay.portlet.asset.model.AssetTag deleteAssetTag(
093                    com.liferay.portlet.asset.model.AssetTag assetTag)
094                    throws com.liferay.portal.kernel.exception.SystemException;
095    
096            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
097    
098            /**
099            * Performs a dynamic query on the database and returns the matching rows.
100            *
101            * @param dynamicQuery the dynamic query
102            * @return the matching rows
103            * @throws SystemException if a system exception occurred
104            */
105            @SuppressWarnings("rawtypes")
106            public java.util.List dynamicQuery(
107                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
108                    throws com.liferay.portal.kernel.exception.SystemException;
109    
110            /**
111            * Performs a dynamic query on the database and returns a range of the matching rows.
112            *
113            * <p>
114            * 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.AssetTagModelImpl}. 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.
115            * </p>
116            *
117            * @param dynamicQuery the dynamic query
118            * @param start the lower bound of the range of model instances
119            * @param end the upper bound of the range of model instances (not inclusive)
120            * @return the range of matching rows
121            * @throws SystemException if a system exception occurred
122            */
123            @SuppressWarnings("rawtypes")
124            public java.util.List dynamicQuery(
125                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
126                    int end) throws com.liferay.portal.kernel.exception.SystemException;
127    
128            /**
129            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
130            *
131            * <p>
132            * 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.AssetTagModelImpl}. 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.
133            * </p>
134            *
135            * @param dynamicQuery the dynamic query
136            * @param start the lower bound of the range of model instances
137            * @param end the upper bound of the range of model instances (not inclusive)
138            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
139            * @return the ordered range of matching rows
140            * @throws SystemException if a system exception occurred
141            */
142            @SuppressWarnings("rawtypes")
143            public java.util.List dynamicQuery(
144                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
145                    int end,
146                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
147                    throws com.liferay.portal.kernel.exception.SystemException;
148    
149            /**
150            * Returns the number of rows that match the dynamic query.
151            *
152            * @param dynamicQuery the dynamic query
153            * @return the number of rows that match the dynamic query
154            * @throws SystemException if a system exception occurred
155            */
156            public long dynamicQueryCount(
157                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
158                    throws com.liferay.portal.kernel.exception.SystemException;
159    
160            /**
161            * Returns the number of rows that match the dynamic query.
162            *
163            * @param dynamicQuery the dynamic query
164            * @param projection the projection to apply to the query
165            * @return the number of rows that match the dynamic query
166            * @throws SystemException if a system exception occurred
167            */
168            public long dynamicQueryCount(
169                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
170                    com.liferay.portal.kernel.dao.orm.Projection projection)
171                    throws com.liferay.portal.kernel.exception.SystemException;
172    
173            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
174            public com.liferay.portlet.asset.model.AssetTag fetchAssetTag(long tagId)
175                    throws com.liferay.portal.kernel.exception.SystemException;
176    
177            /**
178            * Returns the asset tag with the primary key.
179            *
180            * @param tagId the primary key of the asset tag
181            * @return the asset tag
182            * @throws PortalException if a asset tag with the primary key could not be found
183            * @throws SystemException if a system exception occurred
184            */
185            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
186            public com.liferay.portlet.asset.model.AssetTag getAssetTag(long tagId)
187                    throws com.liferay.portal.kernel.exception.PortalException,
188                            com.liferay.portal.kernel.exception.SystemException;
189    
190            @Override
191            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
192            public com.liferay.portal.model.PersistedModel getPersistedModel(
193                    java.io.Serializable primaryKeyObj)
194                    throws com.liferay.portal.kernel.exception.PortalException,
195                            com.liferay.portal.kernel.exception.SystemException;
196    
197            /**
198            * Returns a range of all the asset tags.
199            *
200            * <p>
201            * 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.AssetTagModelImpl}. 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.
202            * </p>
203            *
204            * @param start the lower bound of the range of asset tags
205            * @param end the upper bound of the range of asset tags (not inclusive)
206            * @return the range of asset tags
207            * @throws SystemException if a system exception occurred
208            */
209            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
210            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getAssetTags(
211                    int start, int end)
212                    throws com.liferay.portal.kernel.exception.SystemException;
213    
214            /**
215            * Returns the number of asset tags.
216            *
217            * @return the number of asset tags
218            * @throws SystemException if a system exception occurred
219            */
220            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
221            public int getAssetTagsCount()
222                    throws com.liferay.portal.kernel.exception.SystemException;
223    
224            /**
225            * Updates the asset tag in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
226            *
227            * @param assetTag the asset tag
228            * @return the asset tag that was updated
229            * @throws SystemException if a system exception occurred
230            */
231            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
232            public com.liferay.portlet.asset.model.AssetTag updateAssetTag(
233                    com.liferay.portlet.asset.model.AssetTag assetTag)
234                    throws com.liferay.portal.kernel.exception.SystemException;
235    
236            /**
237            * @throws SystemException if a system exception occurred
238            */
239            public void addAssetEntryAssetTag(long entryId, long tagId)
240                    throws com.liferay.portal.kernel.exception.SystemException;
241    
242            /**
243            * @throws SystemException if a system exception occurred
244            */
245            public void addAssetEntryAssetTag(long entryId,
246                    com.liferay.portlet.asset.model.AssetTag assetTag)
247                    throws com.liferay.portal.kernel.exception.SystemException;
248    
249            /**
250            * @throws SystemException if a system exception occurred
251            */
252            public void addAssetEntryAssetTags(long entryId, long[] tagIds)
253                    throws com.liferay.portal.kernel.exception.SystemException;
254    
255            /**
256            * @throws SystemException if a system exception occurred
257            */
258            public void addAssetEntryAssetTags(long entryId,
259                    java.util.List<com.liferay.portlet.asset.model.AssetTag> AssetTags)
260                    throws com.liferay.portal.kernel.exception.SystemException;
261    
262            /**
263            * @throws SystemException if a system exception occurred
264            */
265            public void clearAssetEntryAssetTags(long entryId)
266                    throws com.liferay.portal.kernel.exception.SystemException;
267    
268            /**
269            * @throws SystemException if a system exception occurred
270            */
271            public void deleteAssetEntryAssetTag(long entryId, long tagId)
272                    throws com.liferay.portal.kernel.exception.SystemException;
273    
274            /**
275            * @throws SystemException if a system exception occurred
276            */
277            public void deleteAssetEntryAssetTag(long entryId,
278                    com.liferay.portlet.asset.model.AssetTag assetTag)
279                    throws com.liferay.portal.kernel.exception.SystemException;
280    
281            /**
282            * @throws SystemException if a system exception occurred
283            */
284            public void deleteAssetEntryAssetTags(long entryId, long[] tagIds)
285                    throws com.liferay.portal.kernel.exception.SystemException;
286    
287            /**
288            * @throws SystemException if a system exception occurred
289            */
290            public void deleteAssetEntryAssetTags(long entryId,
291                    java.util.List<com.liferay.portlet.asset.model.AssetTag> AssetTags)
292                    throws com.liferay.portal.kernel.exception.SystemException;
293    
294            /**
295            * @throws SystemException if a system exception occurred
296            */
297            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
298            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getAssetEntryAssetTags(
299                    long entryId)
300                    throws com.liferay.portal.kernel.exception.SystemException;
301    
302            /**
303            * @throws SystemException if a system exception occurred
304            */
305            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
306            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getAssetEntryAssetTags(
307                    long entryId, int start, int end)
308                    throws com.liferay.portal.kernel.exception.SystemException;
309    
310            /**
311            * @throws SystemException if a system exception occurred
312            */
313            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
314            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getAssetEntryAssetTags(
315                    long entryId, int start, int end,
316                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
317                    throws com.liferay.portal.kernel.exception.SystemException;
318    
319            /**
320            * @throws SystemException if a system exception occurred
321            */
322            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
323            public int getAssetEntryAssetTagsCount(long entryId)
324                    throws com.liferay.portal.kernel.exception.SystemException;
325    
326            /**
327            * @throws SystemException if a system exception occurred
328            */
329            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
330            public boolean hasAssetEntryAssetTag(long entryId, long tagId)
331                    throws com.liferay.portal.kernel.exception.SystemException;
332    
333            /**
334            * @throws SystemException if a system exception occurred
335            */
336            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
337            public boolean hasAssetEntryAssetTags(long entryId)
338                    throws com.liferay.portal.kernel.exception.SystemException;
339    
340            /**
341            * @throws SystemException if a system exception occurred
342            */
343            public void setAssetEntryAssetTags(long entryId, long[] tagIds)
344                    throws com.liferay.portal.kernel.exception.SystemException;
345    
346            /**
347            * Returns the Spring bean ID for this bean.
348            *
349            * @return the Spring bean ID for this bean
350            */
351            public java.lang.String getBeanIdentifier();
352    
353            /**
354            * Sets the Spring bean ID for this bean.
355            *
356            * @param beanIdentifier the Spring bean ID for this bean
357            */
358            public void setBeanIdentifier(java.lang.String beanIdentifier);
359    
360            /**
361            * Adds an asset tag.
362            *
363            * @param userId the primary key of the user adding the asset tag
364            * @param name the asset tag's name
365            * @param tagProperties the tag's properties
366            * @param serviceContext the service context
367            * @return the asset tag that was added
368            * @throws PortalException if a user with the primary key could not be
369            found, if an asset tag already exists with the name, or if a
370            portal exception occurred
371            * @throws SystemException if a system exception occurred
372            */
373            public com.liferay.portlet.asset.model.AssetTag addTag(long userId,
374                    java.lang.String name, java.lang.String[] tagProperties,
375                    com.liferay.portal.service.ServiceContext serviceContext)
376                    throws com.liferay.portal.kernel.exception.PortalException,
377                            com.liferay.portal.kernel.exception.SystemException;
378    
379            /**
380            * Adds resources for the asset tag.
381            *
382            * @param tag the asset tag for which to add resources
383            * @param addGroupPermissions whether to add group permissions
384            * @param addGuestPermissions whether to add guest permissions
385            * @throws PortalException if resources could not be added for the asset tag
386            or if a portal exception occurred
387            * @throws SystemException if a system exception occurred
388            */
389            public void addTagResources(com.liferay.portlet.asset.model.AssetTag tag,
390                    boolean addGroupPermissions, boolean addGuestPermissions)
391                    throws com.liferay.portal.kernel.exception.PortalException,
392                            com.liferay.portal.kernel.exception.SystemException;
393    
394            /**
395            * Adds resources for the asset tag using the group and guest permissions.
396            *
397            * @param tag the asset tag for which to add resources
398            * @param groupPermissions the group permissions to be applied
399            * @param guestPermissions the guest permissions to be applied
400            * @throws PortalException if resources could not be added for the asset tag
401            or if a portal exception occurred
402            * @throws SystemException if a system exception occurred
403            */
404            public void addTagResources(com.liferay.portlet.asset.model.AssetTag tag,
405                    java.lang.String[] groupPermissions, java.lang.String[] guestPermissions)
406                    throws com.liferay.portal.kernel.exception.PortalException,
407                            com.liferay.portal.kernel.exception.SystemException;
408    
409            /**
410            * Returns the asset tags matching the group and names, creating new asset
411            * tags matching the names if the group doesn't already have them.
412            *
413            * <p>
414            * For each name, if an asset tag with the name doesn't already exist in the
415            * group, this method creates a new asset tag with the name in the group.
416            * </p>
417            *
418            * @param userId the primary key of the user checking the asset tags
419            * @param group the group in which to check the asset tags
420            * @param names the asset tag names
421            * @return the asset tags matching the group and names and new asset tags
422            matching the names that don't already exist in the group
423            * @throws PortalException if a matching group could not be found or if a
424            portal exception occurred
425            * @throws SystemException if a system exception occurred
426            */
427            public java.util.List<com.liferay.portlet.asset.model.AssetTag> checkTags(
428                    long userId, com.liferay.portal.model.Group group,
429                    java.lang.String[] names)
430                    throws com.liferay.portal.kernel.exception.PortalException,
431                            com.liferay.portal.kernel.exception.SystemException;
432    
433            /**
434            * Returns the asset tags matching the group and names, creating new asset
435            * tags matching the names if the group doesn't already have them.
436            *
437            * @param userId the primary key of the user checking the asset tags
438            * @param groupId the primary key of the group in which check the asset
439            tags
440            * @param names the asset tag names
441            * @throws PortalException if a matching group could not be found or if a
442            portal exception occurred
443            * @throws SystemException if a system exception occurred
444            */
445            public void checkTags(long userId, long groupId, java.lang.String[] names)
446                    throws com.liferay.portal.kernel.exception.PortalException,
447                            com.liferay.portal.kernel.exception.SystemException;
448    
449            /**
450            * Decrements the number of assets to which the asset tag has been applied.
451            *
452            * @param tagId the primary key of the asset tag
453            * @param classNameId the class name ID of the entity to which the asset
454            tag had been applied
455            * @return the asset tag
456            * @throws PortalException if an asset tag with the primary key could not be
457            found or if a portal exception occurred
458            * @throws SystemException if a system exception occurred
459            */
460            public com.liferay.portlet.asset.model.AssetTag decrementAssetCount(
461                    long tagId, long classNameId)
462                    throws com.liferay.portal.kernel.exception.PortalException,
463                            com.liferay.portal.kernel.exception.SystemException;
464    
465            /**
466            * Deletes all asset tags in the group.
467            *
468            * @param groupId the primary key of the group in which to delete all asset
469            tags
470            * @throws PortalException if a portal exception occurred
471            * @throws SystemException if a system exception occurred
472            */
473            public void deleteGroupTags(long groupId)
474                    throws com.liferay.portal.kernel.exception.PortalException,
475                            com.liferay.portal.kernel.exception.SystemException;
476    
477            /**
478            * Deletes the asset tag.
479            *
480            * @param tag the asset tag to be deleted
481            * @throws PortalException if a portal exception occurred
482            * @throws SystemException if a system exception occurred
483            */
484            public void deleteTag(com.liferay.portlet.asset.model.AssetTag tag)
485                    throws com.liferay.portal.kernel.exception.PortalException,
486                            com.liferay.portal.kernel.exception.SystemException;
487    
488            /**
489            * Deletes the asset tag.
490            *
491            * @param tagId the primary key of the asset tag
492            * @throws PortalException if no asset tag could be found with the primary
493            key or if a portal exception occurred
494            * @throws SystemException if a system exception occurred
495            */
496            public void deleteTag(long tagId)
497                    throws com.liferay.portal.kernel.exception.PortalException,
498                            com.liferay.portal.kernel.exception.SystemException;
499    
500            /**
501            * Returns the asset tags of the asset entry.
502            *
503            * @param entryId the primary key of the asset entry
504            * @return the asset tags of the asset entry
505            * @throws SystemException if a system exception occurred
506            */
507            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
508            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getEntryTags(
509                    long entryId)
510                    throws com.liferay.portal.kernel.exception.SystemException;
511    
512            /**
513            * Returns the asset tags in the groups.
514            *
515            * @param groupIds the primary keys of the groups
516            * @return the asset tags in the groups
517            * @throws SystemException if a system exception occurred
518            */
519            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
520            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getGroupsTags(
521                    long[] groupIds)
522                    throws com.liferay.portal.kernel.exception.SystemException;
523    
524            /**
525            * Returns the asset tags in the group.
526            *
527            * @param groupId the primary key of the group
528            * @return the asset tags in the group
529            * @throws SystemException if a system exception occurred
530            */
531            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
532            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getGroupTags(
533                    long groupId)
534                    throws com.liferay.portal.kernel.exception.SystemException;
535    
536            /**
537            * Returns a range of all the asset tags in the group.
538            *
539            * @param groupId the primary key of the group
540            * @param start the lower bound of the range of asset tags
541            * @param end the upper bound of the range of asset tags (not inclusive)
542            * @return the range of matching asset tags
543            * @throws SystemException if a system exception occurred
544            */
545            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
546            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getGroupTags(
547                    long groupId, int start, int end)
548                    throws com.liferay.portal.kernel.exception.SystemException;
549    
550            /**
551            * Returns the number of asset tags in the group.
552            *
553            * @param groupId the primary key of the group
554            * @return the number of asset tags in the group
555            * @throws SystemException if a system exception occurred
556            */
557            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
558            public int getGroupTagsCount(long groupId)
559                    throws com.liferay.portal.kernel.exception.SystemException;
560    
561            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
562            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getSocialActivityCounterOffsetTags(
563                    long groupId, java.lang.String socialActivityCounterName,
564                    int startOffset, int endOffset)
565                    throws com.liferay.portal.kernel.exception.SystemException;
566    
567            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
568            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getSocialActivityCounterPeriodTags(
569                    long groupId, java.lang.String socialActivityCounterName,
570                    int startPeriod, int endPeriod)
571                    throws com.liferay.portal.kernel.exception.SystemException;
572    
573            /**
574            * Returns the asset tag with the primary key.
575            *
576            * @param tagId the primary key of the asset tag
577            * @return the asset tag with the primary key
578            * @throws PortalException if an asset tag with the primary key could not be
579            found
580            * @throws SystemException if a system exception occurred
581            */
582            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
583            public com.liferay.portlet.asset.model.AssetTag getTag(long tagId)
584                    throws com.liferay.portal.kernel.exception.PortalException,
585                            com.liferay.portal.kernel.exception.SystemException;
586    
587            /**
588            * Returns the asset tag with the name in the group.
589            *
590            * @param groupId the primary key of the group
591            * @param name the name of the asset tag
592            * @return the asset tag with the name in the group
593            * @throws PortalException if a matching asset tag could not be found
594            * @throws SystemException if a system exception occurred
595            */
596            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
597            public com.liferay.portlet.asset.model.AssetTag getTag(long groupId,
598                    java.lang.String name)
599                    throws com.liferay.portal.kernel.exception.PortalException,
600                            com.liferay.portal.kernel.exception.SystemException;
601    
602            /**
603            * Returns the primary keys of the asset tags with the names in the group.
604            *
605            * @param groupId the primary key of the group
606            * @param names the names of the asset tags
607            * @return the primary keys of the asset tags with the names in the group
608            * @throws PortalException if a portal exception occurred
609            * @throws SystemException if a system exception occurred
610            */
611            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
612            public long[] getTagIds(long groupId, java.lang.String[] names)
613                    throws com.liferay.portal.kernel.exception.PortalException,
614                            com.liferay.portal.kernel.exception.SystemException;
615    
616            /**
617            * Returns the primary keys of the asset tags with the name in the groups.
618            *
619            * @param groupIds the primary keys of the groups
620            * @param name the name of the asset tags
621            * @return the primary keys of the asset tags with the name in the groups
622            * @throws PortalException if a portal exception occurred
623            * @throws SystemException if a system exception occurred
624            */
625            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
626            public long[] getTagIds(long[] groupIds, java.lang.String name)
627                    throws com.liferay.portal.kernel.exception.PortalException,
628                            com.liferay.portal.kernel.exception.SystemException;
629    
630            /**
631            * Returns the primary keys of the asset tags with the names in the groups.
632            *
633            * @param groupIds the primary keys of the groups
634            * @param names the names of the asset tags
635            * @return the primary keys of the asset tags with the names in the groups
636            * @throws PortalException if a portal exception occurred
637            * @throws SystemException if a system exception occurred
638            */
639            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
640            public long[] getTagIds(long[] groupIds, java.lang.String[] names)
641                    throws com.liferay.portal.kernel.exception.PortalException,
642                            com.liferay.portal.kernel.exception.SystemException;
643    
644            /**
645            * Returns the names of all the asset tags.
646            *
647            * @return the names of all the asset tags
648            * @throws SystemException if a system exception occurred
649            */
650            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
651            public java.lang.String[] getTagNames()
652                    throws com.liferay.portal.kernel.exception.SystemException;
653    
654            /**
655            * Returns the names of the asset tags of the entity.
656            *
657            * @param classNameId the class name ID of the entity
658            * @param classPK the primary key of the entity
659            * @return the names of the asset tags of the entity
660            * @throws SystemException if a system exception occurred
661            */
662            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
663            public java.lang.String[] getTagNames(long classNameId, long classPK)
664                    throws com.liferay.portal.kernel.exception.SystemException;
665    
666            /**
667            * Returns the names of the asset tags of the entity
668            *
669            * @param className the class name of the entity
670            * @param classPK the primary key of the entity
671            * @return the names of the asset tags of the entity
672            * @throws SystemException if a system exception occurred
673            */
674            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
675            public java.lang.String[] getTagNames(java.lang.String className,
676                    long classPK)
677                    throws com.liferay.portal.kernel.exception.SystemException;
678    
679            /**
680            * Returns all the asset tags.
681            *
682            * @return the asset tags
683            * @throws SystemException if a system exception occurred
684            */
685            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
686            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getTags()
687                    throws com.liferay.portal.kernel.exception.SystemException;
688    
689            /**
690            * Returns the asset tags of the entity.
691            *
692            * @param classNameId the class name ID of the entity
693            * @param classPK the primary key of the entity
694            * @return the asset tags of the entity
695            * @throws SystemException if a system exception occurred
696            */
697            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
698            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getTags(
699                    long classNameId, long classPK)
700                    throws com.liferay.portal.kernel.exception.SystemException;
701    
702            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
703            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getTags(
704                    long groupId, long classNameId, java.lang.String name)
705                    throws com.liferay.portal.kernel.exception.SystemException;
706    
707            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
708            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getTags(
709                    long groupId, long classNameId, java.lang.String name, int start,
710                    int end) throws com.liferay.portal.kernel.exception.SystemException;
711    
712            /**
713            * Returns the asset tags of the entity.
714            *
715            * @param className the class name of the entity
716            * @param classPK the primary key of the entity
717            * @return the asset tags of the entity
718            * @throws SystemException if a system exception occurred
719            */
720            @com.liferay.portal.kernel.cache.ThreadLocalCachable
721            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
722            public java.util.List<com.liferay.portlet.asset.model.AssetTag> getTags(
723                    java.lang.String className, long classPK)
724                    throws com.liferay.portal.kernel.exception.SystemException;
725    
726            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
727            public int getTagsSize(long groupId, long classNameId, java.lang.String name)
728                    throws com.liferay.portal.kernel.exception.SystemException;
729    
730            /**
731            * Returns <code>true</code> if the group contains an asset tag with the
732            * name.
733            *
734            * @param groupId the primary key of the group
735            * @param name the name of the asset tag
736            * @return <code>true</code> if the group contains an asset tag with the
737            name; <code>false</code> otherwise.
738            * @throws PortalException if a portal exception occurred
739            * @throws SystemException if a system exception occurred
740            */
741            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
742            public boolean hasTag(long groupId, java.lang.String name)
743                    throws com.liferay.portal.kernel.exception.PortalException,
744                            com.liferay.portal.kernel.exception.SystemException;
745    
746            /**
747            * Increments the number of assets to which the asset tag has been applied.
748            *
749            * @param tagId the primary key of the asset tag
750            * @param classNameId the class name ID of the entity to which the asset
751            tag is being applied
752            * @return the asset tag
753            * @throws PortalException if a asset tag with the primary key could not be
754            found or if a portal exception occurred
755            * @throws SystemException if a system exception occurred
756            */
757            public com.liferay.portlet.asset.model.AssetTag incrementAssetCount(
758                    long tagId, long classNameId)
759                    throws com.liferay.portal.kernel.exception.PortalException,
760                            com.liferay.portal.kernel.exception.SystemException;
761    
762            /**
763            * Replaces all occurrences of the first asset tag with the second asset tag
764            * and deletes the first asset tag.
765            *
766            * @param fromTagId the primary key of the asset tag to be replaced
767            * @param toTagId the primary key of the asset tag to apply to the asset
768            entries of the other asset tag
769            * @param overrideProperties whether to override the properties of the
770            second asset tag with the properties of the first asset tag
771            * @throws PortalException if a portal exception occurred
772            * @throws SystemException if a system exception occurred
773            */
774            public void mergeTags(long fromTagId, long toTagId,
775                    boolean overrideProperties)
776                    throws com.liferay.portal.kernel.exception.PortalException,
777                            com.liferay.portal.kernel.exception.SystemException;
778    
779            /**
780            * Returns the asset tags in the group whose names match the pattern and the
781            * properties.
782            *
783            * @param groupId the primary key of the group
784            * @param name the pattern to match
785            * @param tagProperties the properties to match
786            * @param start the lower bound of the range of asset tags
787            * @param end the upper bound of the range of asset tags (not inclusive)
788            * @return the asset tags in the group whose names match the pattern
789            * @throws SystemException if a system exception occurred
790            */
791            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
792            public java.util.List<com.liferay.portlet.asset.model.AssetTag> search(
793                    long groupId, java.lang.String name, java.lang.String[] tagProperties,
794                    int start, int end)
795                    throws com.liferay.portal.kernel.exception.SystemException;
796    
797            /**
798            * Returns the asset tags in the groups whose names match the pattern and
799            * the properties.
800            *
801            * @param groupIds the primary keys of the groups
802            * @param name the pattern to match
803            * @param tagProperties the properties to match
804            * @param start the lower bound of the range of asset tags
805            * @param end the upper bound of the range of asset tags (not inclusive)
806            * @return the asset tags in the groups whose names match the pattern
807            * @throws SystemException if a system exception occurred
808            */
809            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
810            public java.util.List<com.liferay.portlet.asset.model.AssetTag> search(
811                    long[] groupIds, java.lang.String name,
812                    java.lang.String[] tagProperties, int start, int end)
813                    throws com.liferay.portal.kernel.exception.SystemException;
814    
815            public com.liferay.portlet.asset.model.AssetTag updateTag(long userId,
816                    long tagId, java.lang.String name, java.lang.String[] tagProperties,
817                    com.liferay.portal.service.ServiceContext serviceContext)
818                    throws com.liferay.portal.kernel.exception.PortalException,
819                            com.liferay.portal.kernel.exception.SystemException;
820    }