Interface AssetTagLocalService

All Superinterfaces:
BaseLocalService, CTService<AssetTag>, PersistedModelLocalService
All Known Implementing Classes:
AssetTagLocalServiceWrapper

Provides the local service interface for AssetTag. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
Author:
Brian Wing Shun Chan
See Also:
{$generated.description}
  • Method Details

    • addAssetEntryAssetTag

      boolean addAssetEntryAssetTag(long entryId, AssetTag assetTag)
    • addAssetEntryAssetTag

      boolean addAssetEntryAssetTag(long entryId, long tagId)
    • addAssetEntryAssetTags

      boolean addAssetEntryAssetTags(long entryId, List<AssetTag> assetTags)
    • addAssetEntryAssetTags

      boolean addAssetEntryAssetTags(long entryId, long[] tagIds)
    • addAssetTag

      @Indexable(type=REINDEX) AssetTag addAssetTag(AssetTag assetTag)
      Adds the asset tag to the database. Also notifies the appropriate model listeners.

      Important: Inspect AssetTagLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      assetTag - the asset tag
      Returns:
      the asset tag that was added
    • addTag

      @Indexable(type=REINDEX) AssetTag addTag(String externalReferenceCode, long userId, long groupId, String name, ServiceContext serviceContext) throws PortalException
      Adds an asset tag.
      Parameters:
      externalReferenceCode -
      userId - the primary key of the user adding the asset tag
      groupId - the primary key of the group in which the asset tag is to be added
      name - the asset tag's name
      serviceContext - the service context to be applied
      Returns:
      the asset tag that was added
      Throws:
      PortalException
    • checkTags

      List<AssetTag> checkTags(long userId, Group group, String[] names) throws PortalException
      Returns the asset tags matching the group and names, creating new asset tags matching the names if the group doesn't already have them.

      For each name, if an asset tag with the name doesn't already exist in the group, this method creates a new asset tag with the name in the group.

      Parameters:
      userId - the primary key of the user checking the asset tags
      group - the group in which to check the asset tags
      names - the asset tag names
      Returns:
      the asset tags matching the group and names and new asset tags matching the names that don't already exist in the group
      Throws:
      PortalException
    • checkTags

      List<AssetTag> checkTags(long userId, long groupId, String[] names) throws PortalException
      Returns the asset tags matching the group and names, creating new asset tags matching the names if the group doesn't already have them.
      Parameters:
      userId - the primary key of the user checking the asset tags
      groupId - the primary key of the group in which check the asset tags
      names - the asset tag names
      Returns:
      the asset tags matching the group and names and new asset tags matching the names that don't already exist in the group
      Throws:
      PortalException
    • clearAssetEntryAssetTags

      void clearAssetEntryAssetTags(long entryId)
    • createAssetTag

      @Transactional(enabled=false) AssetTag createAssetTag(long tagId)
      Creates a new asset tag with the primary key. Does not add the asset tag to the database.
      Parameters:
      tagId - the primary key for the new asset tag
      Returns:
      the new asset tag
    • createPersistedModel

      PersistedModel createPersistedModel(Serializable primaryKeyObj) throws PortalException
      Specified by:
      createPersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • decrementAssetCount

      @Indexable(type=REINDEX) AssetTag decrementAssetCount(long tagId, long classNameId) throws PortalException
      Decrements the number of assets to which the asset tag has been applied.
      Parameters:
      tagId - the primary key of the asset tag
      classNameId - the class name ID of the entity to which the asset tag had been applied
      Returns:
      the asset tag
      Throws:
      PortalException
    • deleteAssetEntryAssetTag

      void deleteAssetEntryAssetTag(long entryId, AssetTag assetTag)
    • deleteAssetEntryAssetTag

      void deleteAssetEntryAssetTag(long entryId, long tagId)
    • deleteAssetEntryAssetTags

      void deleteAssetEntryAssetTags(long entryId, List<AssetTag> assetTags)
    • deleteAssetEntryAssetTags

      void deleteAssetEntryAssetTags(long entryId, long[] tagIds)
    • deleteAssetTag

      @Indexable(type=DELETE) AssetTag deleteAssetTag(AssetTag assetTag)
      Deletes the asset tag from the database. Also notifies the appropriate model listeners.

      Important: Inspect AssetTagLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      assetTag - the asset tag
      Returns:
      the asset tag that was removed
    • deleteAssetTag

      @Indexable(type=DELETE) AssetTag deleteAssetTag(long tagId) throws PortalException
      Deletes the asset tag with the primary key from the database. Also notifies the appropriate model listeners.

      Important: Inspect AssetTagLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      tagId - the primary key of the asset tag
      Returns:
      the asset tag that was removed
      Throws:
      PortalException - if a asset tag with the primary key could not be found
    • deleteGroupTags

      void deleteGroupTags(long groupId) throws PortalException
      Deletes all asset tags in the group.
      Parameters:
      groupId - the primary key of the group in which to delete all asset tags
      Throws:
      PortalException
    • deletePersistedModel

      PersistedModel deletePersistedModel(PersistedModel persistedModel) throws PortalException
      Specified by:
      deletePersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • deleteTag

      @SystemEvent(type=1) void deleteTag(AssetTag tag) throws PortalException
      Deletes the asset tag.
      Parameters:
      tag - the asset tag to be deleted
      Throws:
      PortalException
    • deleteTag

      void deleteTag(long tagId) throws PortalException
      Deletes the asset tag.
      Parameters:
      tagId - the primary key of the asset tag
      Throws:
      PortalException
    • dslQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> T dslQuery(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQuery in interface PersistedModelLocalService
    • dslQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int dslQueryCount(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQueryCount in interface PersistedModelLocalService
    • dynamicQuery

    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery)
      Performs a dynamic query on the database and returns the matching rows.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end)
      Performs a dynamic query on the database and returns a range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portlet.asset.model.impl.AssetTagModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      Returns:
      the range of matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end, OrderByComparator<T> orderByComparator)
      Performs a dynamic query on the database and returns an ordered range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portlet.asset.model.impl.AssetTagModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      orderByComparator - the comparator to order the results by (optionally null)
      Returns:
      the ordered range of matching rows
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the number of rows matching the dynamic query
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery, Projection projection)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      projection - the projection to apply to the query
      Returns:
      the number of rows matching the dynamic query
    • fetchAssetTag

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag fetchAssetTag(long tagId)
    • fetchAssetTagByExternalReferenceCode

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag fetchAssetTagByExternalReferenceCode(String externalReferenceCode, long groupId)
    • fetchAssetTagByUuidAndGroupId

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag fetchAssetTagByUuidAndGroupId(String uuid, long groupId)
      Returns the asset tag matching the UUID and group.
      Parameters:
      uuid - the asset tag's UUID
      groupId - the primary key of the group
      Returns:
      the matching asset tag, or null if a matching asset tag could not be found
    • fetchTag

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag fetchTag(long groupId, String name)
      Returns the asset tag with the name in the group.
      Parameters:
      groupId - the primary key of the group
      name - the asset tag's name
      Returns:
      the asset tag with the name in the group or null if it could not be found
    • getActionableDynamicQuery

    • getAssetEntryAssetTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getAssetEntryAssetTags(long entryId)
    • getAssetEntryAssetTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getAssetEntryAssetTags(long entryId, int start, int end)
    • getAssetEntryAssetTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getAssetEntryAssetTags(long entryId, int start, int end, OrderByComparator<AssetTag> orderByComparator)
    • getAssetEntryAssetTagsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getAssetEntryAssetTagsCount(long entryId)
    • getAssetEntryPrimaryKeys

      @Transactional(propagation=SUPPORTS, readOnly=true) long[] getAssetEntryPrimaryKeys(long tagId)
      Returns the entryIds of the asset entries associated with the asset tag.
      Parameters:
      tagId - the tagId of the asset tag
      Returns:
      long[] the entryIds of asset entries associated with the asset tag
    • getAssetTag

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag getAssetTag(long tagId) throws PortalException
      Returns the asset tag with the primary key.
      Parameters:
      tagId - the primary key of the asset tag
      Returns:
      the asset tag
      Throws:
      PortalException - if a asset tag with the primary key could not be found
    • getAssetTagByExternalReferenceCode

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag getAssetTagByExternalReferenceCode(String externalReferenceCode, long groupId) throws PortalException
      Throws:
      PortalException
    • getAssetTagByUuidAndGroupId

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag getAssetTagByUuidAndGroupId(String uuid, long groupId) throws PortalException
      Returns the asset tag matching the UUID and group.
      Parameters:
      uuid - the asset tag's UUID
      groupId - the primary key of the group
      Returns:
      the matching asset tag
      Throws:
      PortalException - if a matching asset tag could not be found
    • getAssetTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getAssetTags(int start, int end)
      Returns a range of all the asset tags.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portlet.asset.model.impl.AssetTagModelImpl.

      Parameters:
      start - the lower bound of the range of asset tags
      end - the upper bound of the range of asset tags (not inclusive)
      Returns:
      the range of asset tags
    • getAssetTagsByUuidAndCompanyId

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getAssetTagsByUuidAndCompanyId(String uuid, long companyId)
      Returns all the asset tags matching the UUID and company.
      Parameters:
      uuid - the UUID of the asset tags
      companyId - the primary key of the company
      Returns:
      the matching asset tags, or an empty list if no matches were found
    • getAssetTagsByUuidAndCompanyId

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getAssetTagsByUuidAndCompanyId(String uuid, long companyId, int start, int end, OrderByComparator<AssetTag> orderByComparator)
      Returns a range of asset tags matching the UUID and company.
      Parameters:
      uuid - the UUID of the asset tags
      companyId - the primary key of the company
      start - the lower bound of the range of asset tags
      end - the upper bound of the range of asset tags (not inclusive)
      orderByComparator - the comparator to order the results by (optionally null)
      Returns:
      the range of matching asset tags, or an empty list if no matches were found
    • getAssetTagsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getAssetTagsCount()
      Returns the number of asset tags.
      Returns:
      the number of asset tags
    • getEntryTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getEntryTags(long entryId)
      Returns the asset tags of the asset entry.
      Parameters:
      entryId - the primary key of the asset entry
      Returns:
      the asset tags of the asset entry
    • getExportActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) ExportActionableDynamicQuery getExportActionableDynamicQuery(PortletDataContext portletDataContext)
    • getGroupsTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getGroupsTags(long[] groupIds)
      Returns the asset tags in the groups.
      Parameters:
      groupIds - the primary keys of the groups
      Returns:
      the asset tags in the groups
    • getGroupTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getGroupTags(long groupId)
      Returns the asset tags in the group.
      Parameters:
      groupId - the primary key of the group
      Returns:
      the asset tags in the group
    • getGroupTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getGroupTags(long groupId, int start, int end)
      Returns a range of all the asset tags in the group.
      Parameters:
      groupId - the primary key of the group
      start - the lower bound of the range of asset tags
      end - the upper bound of the range of asset tags (not inclusive)
      Returns:
      the range of matching asset tags
    • getGroupTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getGroupTags(long groupId, int start, int end, OrderByComparator<AssetTag> orderByComparator)
      Returns a range of all the asset tags in the group.
      Parameters:
      groupId - the primary key of the group
      start - the lower bound of the range of asset tags
      end - the upper bound of the range of asset tags (not inclusive)
      orderByComparator - the comparator to order the asset tags (optionally null)
      Returns:
      the range of matching asset tags
    • getGroupTagsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getGroupTagsCount(long groupId)
      Returns the number of asset tags in the group.
      Parameters:
      groupId - the primary key of the group
      Returns:
      the number of asset tags in the group
    • getIndexableActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) IndexableActionableDynamicQuery getIndexableActionableDynamicQuery()
    • getOSGiServiceIdentifier

      String getOSGiServiceIdentifier()
      Returns the OSGi service identifier.
      Returns:
      the OSGi service identifier
    • getPersistedModel

      @Transactional(propagation=SUPPORTS, readOnly=true) PersistedModel getPersistedModel(Serializable primaryKeyObj) throws PortalException
      Specified by:
      getPersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • getTag

      Returns the asset tag with the primary key.
      Parameters:
      tagId - the primary key of the asset tag
      Returns:
      the asset tag with the primary key
      Throws:
      PortalException
    • getTag

      @Transactional(propagation=SUPPORTS, readOnly=true) AssetTag getTag(long groupId, String name) throws PortalException
      Returns the asset tag with the name in the group.
      Parameters:
      groupId - the primary key of the group
      name - the name of the asset tag
      Returns:
      the asset tag with the name in the group
      Throws:
      PortalException
    • getTagIds

      @Transactional(propagation=SUPPORTS, readOnly=true) long[] getTagIds(long groupId, String[] names)
      Returns the primary keys of the asset tags with the names in the group.
      Parameters:
      groupId - the primary key of the group
      names - the names of the asset tags
      Returns:
      the primary keys of the asset tags with the names in the group
    • getTagIds

      @Transactional(propagation=SUPPORTS, readOnly=true) long[] getTagIds(long[] groupIds, String name)
      Returns the primary keys of the asset tags with the name in the groups.
      Parameters:
      groupIds - the primary keys of the groups
      name - the name of the asset tags
      Returns:
      the primary keys of the asset tags with the name in the groups
    • getTagIds

      @Transactional(propagation=SUPPORTS, readOnly=true) long[] getTagIds(long[] groupIds, String[] names)
      Returns the primary keys of the asset tags with the names in the groups.
      Parameters:
      groupIds - the primary keys of the groups
      names - the names of the asset tags
      Returns:
      the primary keys of the asset tags with the names in the groups
    • getTagIds

      @Transactional(propagation=SUPPORTS, readOnly=true) long[] getTagIds(String name)
      Returns the primary keys of the asset tags with the names.
      Parameters:
      name - the name of the asset tags
      Returns:
      the primary keys of the asset tags with the names
    • getTagNames

      Returns the names of all the asset tags.
      Returns:
      the names of all the asset tags
    • getTagNames

      @Transactional(propagation=SUPPORTS, readOnly=true) String[] getTagNames(long classNameId, long classPK)
      Returns the names of the asset tags of the entity.
      Parameters:
      classNameId - the class name ID of the entity
      classPK - the primary key of the entity
      Returns:
      the names of the asset tags of the entity
    • getTagNames

      @Transactional(propagation=SUPPORTS, readOnly=true) String[] getTagNames(String className, long classPK)
      Returns the names of the asset tags of the entity
      Parameters:
      className - the class name of the entity
      classPK - the primary key of the entity
      Returns:
      the names of the asset tags of the entity
    • getTags

      Returns all the asset tags.
      Returns:
      the asset tags
    • getTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getTags(long classNameId, long classPK)
      Returns the asset tags of the entity.
      Parameters:
      classNameId - the class name ID of the entity
      classPK - the primary key of the entity
      Returns:
      the asset tags of the entity
    • getTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getTags(long groupId, long classNameId, String name)
    • getTags

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> getTags(long groupId, long classNameId, String name, int start, int end)
    • getTags

      Returns the asset tags of the entity.
      Parameters:
      className - the class name of the entity
      classPK - the primary key of the entity
      Returns:
      the asset tags of the entity
    • getTagsSize

      @Transactional(propagation=SUPPORTS, readOnly=true) int getTagsSize(long groupId, long classNameId, String name)
    • hasAssetEntryAssetTag

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasAssetEntryAssetTag(long entryId, long tagId)
    • hasAssetEntryAssetTags

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasAssetEntryAssetTags(long entryId)
    • hasTag

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasTag(long groupId, String name)
      Returns true if the group contains an asset tag with the name.
      Parameters:
      groupId - the primary key of the group
      name - the name of the asset tag
      Returns:
      true if the group contains an asset tag with the name; false otherwise.
    • incrementAssetCount

      @BufferedIncrement(incrementClass=NumberIncrement.class) @Indexable(type=REINDEX) AssetTag incrementAssetCount(long tagId, long classNameId) throws PortalException
      Increments the number of assets to which the asset tag has been applied.
      Parameters:
      tagId - the primary key of the asset tag
      classNameId - the class name ID of the entity to which the asset tag is being applied
      Returns:
      the asset tag
      Throws:
      PortalException
    • mergeTags

      void mergeTags(long fromTagId, long toTagId) throws PortalException
      Replaces all occurrences of the first asset tag with the second asset tag and deletes the first asset tag.
      Parameters:
      fromTagId - the primary key of the asset tag to be replaced
      toTagId - the primary key of the asset tag to apply to the asset entries of the other asset tag
      Throws:
      PortalException
    • search

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> search(long groupId, String name, int start, int end)
      Returns the asset tags in the group whose names match the pattern.
      Parameters:
      groupId - the primary key of the group
      name - the pattern to match
      start - the lower bound of the range of asset tags
      end - the upper bound of the range of asset tags (not inclusive)
      Returns:
      the asset tags in the group whose names match the pattern
    • search

      @Transactional(propagation=SUPPORTS, readOnly=true) List<AssetTag> search(long[] groupIds, String name, int start, int end)
      Returns the asset tags in the groups whose names match the pattern.
      Parameters:
      groupIds - the primary keys of the groups
      name - the pattern to match
      start - the lower bound of the range of asset tags
      end - the upper bound of the range of asset tags (not inclusive)
      Returns:
      the asset tags in the groups whose names match the pattern
    • searchTags

      @Transactional(propagation=SUPPORTS, readOnly=true) BaseModelSearchResult<AssetTag> searchTags(long[] groupIds, String name, int start, int end, Sort sort) throws PortalException
      Throws:
      PortalException
    • setAssetEntryAssetTags

      void setAssetEntryAssetTags(long entryId, long[] tagIds)
    • subscribeTag

      void subscribeTag(long userId, long groupId, long tagId) throws PortalException
      Throws:
      PortalException
    • unsubscribeTag

      void unsubscribeTag(long userId, long tagId) throws PortalException
      Throws:
      PortalException
    • updateAssetTag

      @Indexable(type=REINDEX) AssetTag updateAssetTag(AssetTag assetTag)
      Updates the asset tag in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.

      Important: Inspect AssetTagLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      assetTag - the asset tag
      Returns:
      the asset tag that was updated
    • updateTag

      @Indexable(type=REINDEX) AssetTag updateTag(String externalReferenceCode, long userId, long tagId, String name, ServiceContext serviceContext) throws PortalException
      Throws:
      PortalException
    • getCTPersistence

      @Transactional(enabled=false) CTPersistence<AssetTag> getCTPersistence()
      Specified by:
      getCTPersistence in interface CTService<AssetTag>
    • getModelClass

      @Transactional(enabled=false) Class<AssetTag> getModelClass()
      Specified by:
      getModelClass in interface CTService<AssetTag>
    • updateWithUnsafeFunction

      @Transactional(rollbackFor=java.lang.Throwable.class) <R, E extends Throwable> R updateWithUnsafeFunction(com.liferay.petra.function.UnsafeFunction<CTPersistence<AssetTag>,R,E> updateUnsafeFunction) throws E
      Specified by:
      updateWithUnsafeFunction in interface CTService<AssetTag>
      Throws:
      E extends Throwable