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.announcements.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.announcements.kernel.model.AnnouncementsEntry;
020    
021    import com.liferay.portal.kernel.exception.PortalException;
022    import com.liferay.portal.kernel.exception.SystemException;
023    import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
024    import com.liferay.portal.kernel.security.access.control.AccessControlled;
025    import com.liferay.portal.kernel.service.BaseService;
026    import com.liferay.portal.kernel.transaction.Isolation;
027    import com.liferay.portal.kernel.transaction.Propagation;
028    import com.liferay.portal.kernel.transaction.Transactional;
029    
030    /**
031     * Provides the remote service interface for AnnouncementsEntry. Methods of this
032     * service are expected to have security checks based on the propagated JAAS
033     * credentials because this service can be accessed remotely.
034     *
035     * @author Brian Wing Shun Chan
036     * @see AnnouncementsEntryServiceUtil
037     * @see com.liferay.portlet.announcements.service.base.AnnouncementsEntryServiceBaseImpl
038     * @see com.liferay.portlet.announcements.service.impl.AnnouncementsEntryServiceImpl
039     * @generated
040     */
041    @AccessControlled
042    @JSONWebService
043    @ProviderType
044    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
045            PortalException.class, SystemException.class})
046    public interface AnnouncementsEntryService extends BaseService {
047            /*
048             * NOTE FOR DEVELOPERS:
049             *
050             * Never modify or reference this interface directly. Always use {@link AnnouncementsEntryServiceUtil} to access the announcements entry remote service. Add custom service methods to {@link com.liferay.portlet.announcements.service.impl.AnnouncementsEntryServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
051             */
052            public AnnouncementsEntry addEntry(long plid, long classNameId,
053                    long classPK, java.lang.String title, java.lang.String content,
054                    java.lang.String url, java.lang.String type, int displayDateMonth,
055                    int displayDateDay, int displayDateYear, int displayDateHour,
056                    int displayDateMinute, boolean displayImmediately,
057                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
058                    int expirationDateHour, int expirationDateMinute, int priority,
059                    boolean alert) throws PortalException;
060    
061            public void deleteEntry(long entryId) throws PortalException;
062    
063            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
064            public AnnouncementsEntry getEntry(long entryId) throws PortalException;
065    
066            /**
067            * Returns the OSGi service identifier.
068            *
069            * @return the OSGi service identifier
070            */
071            public java.lang.String getOSGiServiceIdentifier();
072    
073            public AnnouncementsEntry updateEntry(long entryId, java.lang.String title,
074                    java.lang.String content, java.lang.String url, java.lang.String type,
075                    int displayDateMonth, int displayDateDay, int displayDateYear,
076                    int displayDateHour, int displayDateMinute, boolean displayImmediately,
077                    int expirationDateMonth, int expirationDateDay, int expirationDateYear,
078                    int expirationDateHour, int expirationDateMinute, int priority)
079                    throws PortalException;
080    }