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