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.portal.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
020    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
021    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
022    import com.liferay.portal.kernel.dao.orm.Projection;
023    import com.liferay.portal.kernel.exception.PortalException;
024    import com.liferay.portal.kernel.exception.SystemException;
025    import com.liferay.portal.kernel.model.PersistedModel;
026    import com.liferay.portal.kernel.model.ResourceAction;
027    import com.liferay.portal.kernel.search.Indexable;
028    import com.liferay.portal.kernel.search.IndexableType;
029    import com.liferay.portal.kernel.spring.aop.Skip;
030    import com.liferay.portal.kernel.transaction.Isolation;
031    import com.liferay.portal.kernel.transaction.Propagation;
032    import com.liferay.portal.kernel.transaction.Transactional;
033    import com.liferay.portal.kernel.util.OrderByComparator;
034    
035    import java.io.Serializable;
036    
037    import java.util.List;
038    
039    /**
040     * Provides the local service interface for ResourceAction. Methods of this
041     * service will not have security checks based on the propagated JAAS
042     * credentials because this service can only be accessed from within the same
043     * VM.
044     *
045     * @author Brian Wing Shun Chan
046     * @see ResourceActionLocalServiceUtil
047     * @see com.liferay.portal.service.base.ResourceActionLocalServiceBaseImpl
048     * @see com.liferay.portal.service.impl.ResourceActionLocalServiceImpl
049     * @generated
050     */
051    @ProviderType
052    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
053            PortalException.class, SystemException.class})
054    public interface ResourceActionLocalService extends BaseLocalService,
055            PersistedModelLocalService {
056            /*
057             * NOTE FOR DEVELOPERS:
058             *
059             * Never modify or reference this interface directly. Always use {@link ResourceActionLocalServiceUtil} to access the resource action local service. Add custom service methods to {@link com.liferay.portal.service.impl.ResourceActionLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
060             */
061            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
062            public ActionableDynamicQuery getActionableDynamicQuery();
063    
064            public DynamicQuery dynamicQuery();
065    
066            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
067            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
068    
069            /**
070            * @throws PortalException
071            */
072            @Override
073            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
074                    throws PortalException;
075    
076            @Override
077            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
078            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
079                    throws PortalException;
080    
081            /**
082            * Adds the resource action to the database. Also notifies the appropriate model listeners.
083            *
084            * @param resourceAction the resource action
085            * @return the resource action that was added
086            */
087            @Indexable(type = IndexableType.REINDEX)
088            public ResourceAction addResourceAction(ResourceAction resourceAction);
089    
090            public ResourceAction addResourceAction(java.lang.String name,
091                    java.lang.String actionId, long bitwiseValue);
092    
093            /**
094            * Creates a new resource action with the primary key. Does not add the resource action to the database.
095            *
096            * @param resourceActionId the primary key for the new resource action
097            * @return the new resource action
098            */
099            public ResourceAction createResourceAction(long resourceActionId);
100    
101            /**
102            * Deletes the resource action from the database. Also notifies the appropriate model listeners.
103            *
104            * @param resourceAction the resource action
105            * @return the resource action that was removed
106            */
107            @Indexable(type = IndexableType.DELETE)
108            public ResourceAction deleteResourceAction(ResourceAction resourceAction);
109    
110            /**
111            * Deletes the resource action with the primary key from the database. Also notifies the appropriate model listeners.
112            *
113            * @param resourceActionId the primary key of the resource action
114            * @return the resource action that was removed
115            * @throws PortalException if a resource action with the primary key could not be found
116            */
117            @Indexable(type = IndexableType.DELETE)
118            public ResourceAction deleteResourceAction(long resourceActionId)
119                    throws PortalException;
120    
121            @Skip
122            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
123            public ResourceAction fetchResourceAction(java.lang.String name,
124                    java.lang.String actionId);
125    
126            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
127            public ResourceAction fetchResourceAction(long resourceActionId);
128    
129            @Skip
130            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
131            public ResourceAction getResourceAction(java.lang.String name,
132                    java.lang.String actionId) throws PortalException;
133    
134            /**
135            * Returns the resource action with the primary key.
136            *
137            * @param resourceActionId the primary key of the resource action
138            * @return the resource action
139            * @throws PortalException if a resource action with the primary key could not be found
140            */
141            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
142            public ResourceAction getResourceAction(long resourceActionId)
143                    throws PortalException;
144    
145            /**
146            * Updates the resource action in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
147            *
148            * @param resourceAction the resource action
149            * @return the resource action that was updated
150            */
151            @Indexable(type = IndexableType.REINDEX)
152            public ResourceAction updateResourceAction(ResourceAction resourceAction);
153    
154            /**
155            * Returns the number of resource actions.
156            *
157            * @return the number of resource actions
158            */
159            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
160            public int getResourceActionsCount();
161    
162            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
163            public int getResourceActionsCount(java.lang.String name);
164    
165            /**
166            * Returns the OSGi service identifier.
167            *
168            * @return the OSGi service identifier
169            */
170            public java.lang.String getOSGiServiceIdentifier();
171    
172            /**
173            * Performs a dynamic query on the database and returns the matching rows.
174            *
175            * @param dynamicQuery the dynamic query
176            * @return the matching rows
177            */
178            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);
179    
180            /**
181            * Performs a dynamic query on the database and returns a range of the matching rows.
182            *
183            * <p>
184            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.ResourceActionModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
185            * </p>
186            *
187            * @param dynamicQuery the dynamic query
188            * @param start the lower bound of the range of model instances
189            * @param end the upper bound of the range of model instances (not inclusive)
190            * @return the range of matching rows
191            */
192            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
193                    int end);
194    
195            /**
196            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
197            *
198            * <p>
199            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.ResourceActionModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
200            * </p>
201            *
202            * @param dynamicQuery the dynamic query
203            * @param start the lower bound of the range of model instances
204            * @param end the upper bound of the range of model instances (not inclusive)
205            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
206            * @return the ordered range of matching rows
207            */
208            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
209                    int end, OrderByComparator<T> orderByComparator);
210    
211            /**
212            * Returns a range of all the resource actions.
213            *
214            * <p>
215            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.ResourceActionModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
216            * </p>
217            *
218            * @param start the lower bound of the range of resource actions
219            * @param end the upper bound of the range of resource actions (not inclusive)
220            * @return the range of resource actions
221            */
222            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
223            public List<ResourceAction> getResourceActions(int start, int end);
224    
225            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
226            public List<ResourceAction> getResourceActions(java.lang.String name);
227    
228            /**
229            * Returns the number of rows matching the dynamic query.
230            *
231            * @param dynamicQuery the dynamic query
232            * @return the number of rows matching the dynamic query
233            */
234            public long dynamicQueryCount(DynamicQuery dynamicQuery);
235    
236            /**
237            * Returns the number of rows matching the dynamic query.
238            *
239            * @param dynamicQuery the dynamic query
240            * @param projection the projection to apply to the query
241            * @return the number of rows matching the dynamic query
242            */
243            public long dynamicQueryCount(DynamicQuery dynamicQuery,
244                    Projection projection);
245    
246            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
247            public void checkResourceActions();
248    
249            public void checkResourceActions(java.lang.String name,
250                    List<java.lang.String> actionIds);
251    
252            public void checkResourceActions(java.lang.String name,
253                    List<java.lang.String> actionIds, boolean addDefaultActions);
254    }