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