001    /**
002     * Copyright (c) 2000-2012 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 com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
020    import com.liferay.portal.kernel.transaction.Isolation;
021    import com.liferay.portal.kernel.transaction.Propagation;
022    import com.liferay.portal.kernel.transaction.Transactional;
023    
024    /**
025     * The interface for the asset tag property remote service.
026     *
027     * <p>
028     * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely.
029     * </p>
030     *
031     * @author Brian Wing Shun Chan
032     * @see AssetTagPropertyServiceUtil
033     * @see com.liferay.portlet.asset.service.base.AssetTagPropertyServiceBaseImpl
034     * @see com.liferay.portlet.asset.service.impl.AssetTagPropertyServiceImpl
035     * @generated
036     */
037    @JSONWebService
038    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
039            PortalException.class, SystemException.class})
040    public interface AssetTagPropertyService {
041            /*
042             * NOTE FOR DEVELOPERS:
043             *
044             * Never modify or reference this interface directly. Always use {@link AssetTagPropertyServiceUtil} to access the asset tag property remote service. Add custom service methods to {@link com.liferay.portlet.asset.service.impl.AssetTagPropertyServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
045             */
046    
047            /**
048            * Adds an asset tag property.
049            *
050            * @param tagId the primary key of the tag
051            * @param key the key to be associated to the value
052            * @param value the value to which the key will refer
053            * @return the created asset tag property
054            * @throws PortalException if the user did not have permission to update the
055            asset tag, or if the key or value were invalid
056            * @throws SystemException if a system exception occurred
057            */
058            public com.liferay.portlet.asset.model.AssetTagProperty addTagProperty(
059                    long tagId, java.lang.String key, java.lang.String value)
060                    throws com.liferay.portal.kernel.exception.PortalException,
061                            com.liferay.portal.kernel.exception.SystemException;
062    
063            /**
064            * Deletes the asset tag property with the specified ID.
065            *
066            * @param tagPropertyId the primary key of the asset tag property instance
067            * @throws PortalException if an asset tag property with the primary key
068            could not be found or if the user did not have permission to
069            update the asset tag property
070            * @throws SystemException if a system exception occurred
071            */
072            public void deleteTagProperty(long tagPropertyId)
073                    throws com.liferay.portal.kernel.exception.PortalException,
074                            com.liferay.portal.kernel.exception.SystemException;
075    
076            /**
077            * Returns all the asset tag property instances with the specified tag ID.
078            *
079            * @param tagId the primary key of the tag
080            * @return the matching asset tag properties
081            * @throws SystemException if a system exception occurred
082            */
083            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
084            public java.util.List<com.liferay.portlet.asset.model.AssetTagProperty> getTagProperties(
085                    long tagId) throws com.liferay.portal.kernel.exception.SystemException;
086    
087            /**
088            * Returns asset tag properties with the specified group and key.
089            *
090            * @param companyId the primary key of the company
091            * @param key the key that refers to some value
092            * @return the matching asset tag properties
093            * @throws SystemException if a system exception occurred
094            */
095            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
096            public java.util.List<com.liferay.portlet.asset.model.AssetTagProperty> getTagPropertyValues(
097                    long companyId, java.lang.String key)
098                    throws com.liferay.portal.kernel.exception.SystemException;
099    
100            /**
101            * Updates the asset tag property.
102            *
103            * @param tagPropertyId the primary key of the asset tag property
104            * @param key the new key to be associated to the value
105            * @param value the new value to which the key will refer
106            * @return the updated asset tag property
107            * @throws PortalException if an asset tag property with the primary key
108            could not be found, if the user did not have permission to update
109            the asset tag, or if the key or value were invalid
110            * @throws SystemException if a system exception occurred
111            */
112            public com.liferay.portlet.asset.model.AssetTagProperty updateTagProperty(
113                    long tagPropertyId, java.lang.String key, java.lang.String value)
114                    throws com.liferay.portal.kernel.exception.PortalException,
115                            com.liferay.portal.kernel.exception.SystemException;
116    }