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.social.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Transactional;
021    
022    /**
023     * The interface for the social request interpreter local service.
024     *
025     * <p>
026     * This is a local service. 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.
027     * </p>
028     *
029     * @author Brian Wing Shun Chan
030     * @see SocialRequestInterpreterLocalServiceUtil
031     * @see com.liferay.portlet.social.service.base.SocialRequestInterpreterLocalServiceBaseImpl
032     * @see com.liferay.portlet.social.service.impl.SocialRequestInterpreterLocalServiceImpl
033     * @generated
034     */
035    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
036            PortalException.class, SystemException.class})
037    public interface SocialRequestInterpreterLocalService {
038            /*
039             * NOTE FOR DEVELOPERS:
040             *
041             * Never modify or reference this interface directly. Always use {@link SocialRequestInterpreterLocalServiceUtil} to access the social request interpreter local service. Add custom service methods to {@link com.liferay.portlet.social.service.impl.SocialRequestInterpreterLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
042             */
043    
044            /**
045            * Returns the Spring bean ID for this bean.
046            *
047            * @return the Spring bean ID for this bean
048            */
049            public java.lang.String getBeanIdentifier();
050    
051            /**
052            * Sets the Spring bean ID for this bean.
053            *
054            * @param beanIdentifier the Spring bean ID for this bean
055            */
056            public void setBeanIdentifier(java.lang.String beanIdentifier);
057    
058            /**
059            * Adds the social request interpreter to the list of available
060            * interpreters.
061            *
062            * @param requestInterpreter the social request interpreter
063            */
064            public void addRequestInterpreter(
065                    com.liferay.portlet.social.model.SocialRequestInterpreter requestInterpreter);
066    
067            /**
068            * Removes the social request interpreter from the list of available
069            * interpreters.
070            *
071            * @param requestInterpreter the social request interpreter
072            */
073            public void deleteRequestInterpreter(
074                    com.liferay.portlet.social.model.SocialRequestInterpreter requestInterpreter);
075    
076            /**
077            * Creates a human readable request feed entry for the social request using
078            * an available compatible request interpreter.
079            *
080            * <p>
081            * This method finds the appropriate interpreter for the request by going
082            * through the available interpreters to find one that can handle the asset
083            * type of the request.
084            * </p>
085            *
086            * @param request the social request to be translated to human readable
087            form
088            * @param themeDisplay the theme display needed by interpreters to create
089            links and get localized text fragments
090            * @return the social request feed entry
091            */
092            public com.liferay.portlet.social.model.SocialRequestFeedEntry interpret(
093                    com.liferay.portlet.social.model.SocialRequest request,
094                    com.liferay.portal.theme.ThemeDisplay themeDisplay);
095    
096            /**
097            * Processes the confirmation of the social request.
098            *
099            * <p>
100            * Confirmations are handled by finding the appropriate social request
101            * interpreter and calling its processConfirmation() method. To find the
102            * appropriate interpreter this method goes through the available
103            * interpreters to find one that can handle the asset type of the request.
104            * </p>
105            *
106            * @param request the social request being confirmed
107            * @param themeDisplay the theme display needed by interpreters to create
108            links and get localized text fragments
109            */
110            public void processConfirmation(
111                    com.liferay.portlet.social.model.SocialRequest request,
112                    com.liferay.portal.theme.ThemeDisplay themeDisplay);
113    
114            /**
115            * Processes the rejection of the social request.
116            *
117            * <p>
118            * Rejections are handled by finding the appropriate social request
119            * interpreters and calling their processRejection() methods. To find the
120            * appropriate interpreters this method goes through the available
121            * interpreters and asks them if they can handle the asset type of the
122            * request.
123            * </p>
124            *
125            * @param request the social request being rejected
126            * @param themeDisplay the theme display needed by interpreters to create
127            links and get localized text fragments
128            */
129            public void processRejection(
130                    com.liferay.portlet.social.model.SocialRequest request,
131                    com.liferay.portal.theme.ThemeDisplay themeDisplay);
132    }