001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.asset.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
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.security.ac.AccessControlled;
026    import com.liferay.portal.service.BaseService;
027    
028    /**
029     * Provides the remote service interface for AssetTagProperty. Methods of this
030     * service are expected to have security checks based on the propagated JAAS
031     * credentials because this service can be accessed remotely.
032     *
033     * @author Brian Wing Shun Chan
034     * @see AssetTagPropertyServiceUtil
035     * @see com.liferay.portlet.asset.service.base.AssetTagPropertyServiceBaseImpl
036     * @see com.liferay.portlet.asset.service.impl.AssetTagPropertyServiceImpl
037     * @generated
038     */
039    @ProviderType
040    @AccessControlled
041    @JSONWebService
042    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
043            PortalException.class, SystemException.class})
044    public interface AssetTagPropertyService extends BaseService {
045            /*
046             * NOTE FOR DEVELOPERS:
047             *
048             * 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.
049             */
050    
051            /**
052            * Returns the Spring bean ID for this bean.
053            *
054            * @return the Spring bean ID for this bean
055            */
056            public java.lang.String getBeanIdentifier();
057    
058            /**
059            * Sets the Spring bean ID for this bean.
060            *
061            * @param beanIdentifier the Spring bean ID for this bean
062            */
063            public void setBeanIdentifier(java.lang.String beanIdentifier);
064    
065            /**
066            * Adds an asset tag property.
067            *
068            * @param tagId the primary key of the tag
069            * @param key the key to be associated to the value
070            * @param value the value to which the key will refer
071            * @return the created asset tag property
072            * @throws PortalException if the user did not have permission to update the
073            asset tag, or if the key or value were invalid
074            * @throws SystemException if a system exception occurred
075            */
076            public com.liferay.portlet.asset.model.AssetTagProperty addTagProperty(
077                    long tagId, java.lang.String key, java.lang.String value)
078                    throws com.liferay.portal.kernel.exception.PortalException,
079                            com.liferay.portal.kernel.exception.SystemException;
080    
081            /**
082            * Deletes the asset tag property with the specified ID.
083            *
084            * @param tagPropertyId the primary key of the asset tag property instance
085            * @throws PortalException if an asset tag property with the primary key
086            could not be found or if the user did not have permission to
087            update the asset tag property
088            * @throws SystemException if a system exception occurred
089            */
090            public void deleteTagProperty(long tagPropertyId)
091                    throws com.liferay.portal.kernel.exception.PortalException,
092                            com.liferay.portal.kernel.exception.SystemException;
093    
094            /**
095            * Returns all the asset tag property instances with the specified tag ID.
096            *
097            * @param tagId the primary key of the tag
098            * @return the matching asset tag properties
099            * @throws SystemException if a system exception occurred
100            */
101            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
102            public java.util.List<com.liferay.portlet.asset.model.AssetTagProperty> getTagProperties(
103                    long tagId) throws com.liferay.portal.kernel.exception.SystemException;
104    
105            /**
106            * Returns asset tag properties with the specified group and key.
107            *
108            * @param companyId the primary key of the company
109            * @param key the key that refers to some value
110            * @return the matching asset tag properties
111            * @throws SystemException if a system exception occurred
112            */
113            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
114            public java.util.List<com.liferay.portlet.asset.model.AssetTagProperty> getTagPropertyValues(
115                    long companyId, java.lang.String key)
116                    throws com.liferay.portal.kernel.exception.SystemException;
117    
118            /**
119            * Updates the asset tag property.
120            *
121            * @param tagPropertyId the primary key of the asset tag property
122            * @param key the new key to be associated to the value
123            * @param value the new value to which the key will refer
124            * @return the updated asset tag property
125            * @throws PortalException if an asset tag property with the primary key
126            could not be found, if the user did not have permission to update
127            the asset tag, or if the key or value were invalid
128            * @throws SystemException if a system exception occurred
129            */
130            public com.liferay.portlet.asset.model.AssetTagProperty updateTagProperty(
131                    long tagPropertyId, java.lang.String key, java.lang.String value)
132                    throws com.liferay.portal.kernel.exception.PortalException,
133                            com.liferay.portal.kernel.exception.SystemException;
134    }