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.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.search.IndexableType;
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    
026    /**
027     * Provides the local service interface for WorkflowInstanceLink. Methods of this
028     * service will not have security checks based on the propagated JAAS
029     * credentials because this service can only be accessed from within the same
030     * VM.
031     *
032     * @author Brian Wing Shun Chan
033     * @see WorkflowInstanceLinkLocalServiceUtil
034     * @see com.liferay.portal.service.base.WorkflowInstanceLinkLocalServiceBaseImpl
035     * @see com.liferay.portal.service.impl.WorkflowInstanceLinkLocalServiceImpl
036     * @generated
037     */
038    @ProviderType
039    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
040            PortalException.class, SystemException.class})
041    public interface WorkflowInstanceLinkLocalService extends BaseLocalService,
042            PersistedModelLocalService {
043            /*
044             * NOTE FOR DEVELOPERS:
045             *
046             * Never modify or reference this interface directly. Always use {@link WorkflowInstanceLinkLocalServiceUtil} to access the workflow instance link local service. Add custom service methods to {@link com.liferay.portal.service.impl.WorkflowInstanceLinkLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
047             */
048            public com.liferay.portal.model.WorkflowInstanceLink addWorkflowInstanceLink(
049                    long userId, long companyId, long groupId, java.lang.String className,
050                    long classPK, long workflowInstanceId)
051                    throws com.liferay.portal.kernel.exception.PortalException;
052    
053            /**
054            * Adds the workflow instance link to the database. Also notifies the appropriate model listeners.
055            *
056            * @param workflowInstanceLink the workflow instance link
057            * @return the workflow instance link that was added
058            */
059            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
060            public com.liferay.portal.model.WorkflowInstanceLink addWorkflowInstanceLink(
061                    com.liferay.portal.model.WorkflowInstanceLink workflowInstanceLink);
062    
063            /**
064            * Creates a new workflow instance link with the primary key. Does not add the workflow instance link to the database.
065            *
066            * @param workflowInstanceLinkId the primary key for the new workflow instance link
067            * @return the new workflow instance link
068            */
069            public com.liferay.portal.model.WorkflowInstanceLink createWorkflowInstanceLink(
070                    long workflowInstanceLinkId);
071    
072            /**
073            * @throws PortalException
074            */
075            @Override
076            public com.liferay.portal.model.PersistedModel deletePersistedModel(
077                    com.liferay.portal.model.PersistedModel persistedModel)
078                    throws com.liferay.portal.kernel.exception.PortalException;
079    
080            public com.liferay.portal.model.WorkflowInstanceLink deleteWorkflowInstanceLink(
081                    long companyId, long groupId, java.lang.String className, long classPK)
082                    throws com.liferay.portal.kernel.exception.PortalException;
083    
084            /**
085            * Deletes the workflow instance link from the database. Also notifies the appropriate model listeners.
086            *
087            * @param workflowInstanceLink the workflow instance link
088            * @return the workflow instance link that was removed
089            * @throws PortalException
090            */
091            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
092            public com.liferay.portal.model.WorkflowInstanceLink deleteWorkflowInstanceLink(
093                    com.liferay.portal.model.WorkflowInstanceLink workflowInstanceLink)
094                    throws com.liferay.portal.kernel.exception.PortalException;
095    
096            /**
097            * Deletes the workflow instance link with the primary key from the database. Also notifies the appropriate model listeners.
098            *
099            * @param workflowInstanceLinkId the primary key of the workflow instance link
100            * @return the workflow instance link that was removed
101            * @throws PortalException if a workflow instance link with the primary key could not be found
102            */
103            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
104            public com.liferay.portal.model.WorkflowInstanceLink deleteWorkflowInstanceLink(
105                    long workflowInstanceLinkId)
106                    throws com.liferay.portal.kernel.exception.PortalException;
107    
108            public void deleteWorkflowInstanceLinks(long companyId, long groupId,
109                    java.lang.String className, long classPK)
110                    throws com.liferay.portal.kernel.exception.PortalException;
111    
112            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
113    
114            /**
115            * Performs a dynamic query on the database and returns the matching rows.
116            *
117            * @param dynamicQuery the dynamic query
118            * @return the matching rows
119            */
120            public <T> java.util.List<T> dynamicQuery(
121                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
122    
123            /**
124            * Performs a dynamic query on the database and returns a range of the matching rows.
125            *
126            * <p>
127            * 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.WorkflowInstanceLinkModelImpl}. 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.
128            * </p>
129            *
130            * @param dynamicQuery the dynamic query
131            * @param start the lower bound of the range of model instances
132            * @param end the upper bound of the range of model instances (not inclusive)
133            * @return the range of matching rows
134            */
135            public <T> java.util.List<T> dynamicQuery(
136                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
137                    int end);
138    
139            /**
140            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
141            *
142            * <p>
143            * 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.WorkflowInstanceLinkModelImpl}. 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.
144            * </p>
145            *
146            * @param dynamicQuery the dynamic query
147            * @param start the lower bound of the range of model instances
148            * @param end the upper bound of the range of model instances (not inclusive)
149            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
150            * @return the ordered range of matching rows
151            */
152            public <T> java.util.List<T> dynamicQuery(
153                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
154                    int end,
155                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
156    
157            /**
158            * Returns the number of rows matching the dynamic query.
159            *
160            * @param dynamicQuery the dynamic query
161            * @return the number of rows matching the dynamic query
162            */
163            public long dynamicQueryCount(
164                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
165    
166            /**
167            * Returns the number of rows matching the dynamic query.
168            *
169            * @param dynamicQuery the dynamic query
170            * @param projection the projection to apply to the query
171            * @return the number of rows matching the dynamic query
172            */
173            public long dynamicQueryCount(
174                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
175                    com.liferay.portal.kernel.dao.orm.Projection projection);
176    
177            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
178            public com.liferay.portal.model.WorkflowInstanceLink fetchWorkflowInstanceLink(
179                    long companyId, long groupId, java.lang.String className, long classPK);
180    
181            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
182            public com.liferay.portal.model.WorkflowInstanceLink fetchWorkflowInstanceLink(
183                    long workflowInstanceLinkId);
184    
185            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
186            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
187    
188            /**
189            * Returns the Spring bean ID for this bean.
190            *
191            * @return the Spring bean ID for this bean
192            */
193            public java.lang.String getBeanIdentifier();
194    
195            @Override
196            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
197            public com.liferay.portal.model.PersistedModel getPersistedModel(
198                    java.io.Serializable primaryKeyObj)
199                    throws com.liferay.portal.kernel.exception.PortalException;
200    
201            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
202            public java.lang.String getState(long companyId, long groupId,
203                    java.lang.String className, long classPK)
204                    throws com.liferay.portal.kernel.exception.PortalException;
205    
206            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
207            public com.liferay.portal.model.WorkflowInstanceLink getWorkflowInstanceLink(
208                    long companyId, long groupId, java.lang.String className, long classPK)
209                    throws com.liferay.portal.kernel.exception.PortalException;
210    
211            /**
212            * Returns the workflow instance link with the primary key.
213            *
214            * @param workflowInstanceLinkId the primary key of the workflow instance link
215            * @return the workflow instance link
216            * @throws PortalException if a workflow instance link with the primary key could not be found
217            */
218            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
219            public com.liferay.portal.model.WorkflowInstanceLink getWorkflowInstanceLink(
220                    long workflowInstanceLinkId)
221                    throws com.liferay.portal.kernel.exception.PortalException;
222    
223            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
224            public java.util.List<com.liferay.portal.model.WorkflowInstanceLink> getWorkflowInstanceLinks(
225                    long companyId, long groupId, java.lang.String className, long classPK);
226    
227            /**
228            * Returns a range of all the workflow instance links.
229            *
230            * <p>
231            * 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.WorkflowInstanceLinkModelImpl}. 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.
232            * </p>
233            *
234            * @param start the lower bound of the range of workflow instance links
235            * @param end the upper bound of the range of workflow instance links (not inclusive)
236            * @return the range of workflow instance links
237            */
238            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
239            public java.util.List<com.liferay.portal.model.WorkflowInstanceLink> getWorkflowInstanceLinks(
240                    int start, int end);
241    
242            /**
243            * Returns the number of workflow instance links.
244            *
245            * @return the number of workflow instance links
246            */
247            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
248            public int getWorkflowInstanceLinksCount();
249    
250            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
251            public boolean hasWorkflowInstanceLink(long companyId, long groupId,
252                    java.lang.String className, long classPK);
253    
254            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
255            public boolean isEnded(long companyId, long groupId,
256                    java.lang.String className, long classPK)
257                    throws com.liferay.portal.kernel.exception.PortalException;
258    
259            /**
260            * Sets the Spring bean ID for this bean.
261            *
262            * @param beanIdentifier the Spring bean ID for this bean
263            */
264            public void setBeanIdentifier(java.lang.String beanIdentifier);
265    
266            public void startWorkflowInstance(long companyId, long groupId,
267                    long userId, java.lang.String className, long classPK,
268                    java.util.Map<java.lang.String, java.io.Serializable> workflowContext)
269                    throws com.liferay.portal.kernel.exception.PortalException;
270    
271            public void updateClassPK(long companyId, long groupId,
272                    java.lang.String className, long oldClassPK, long newClassPK)
273                    throws com.liferay.portal.kernel.exception.PortalException;
274    
275            /**
276            * Updates the workflow instance link in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
277            *
278            * @param workflowInstanceLink the workflow instance link
279            * @return the workflow instance link that was updated
280            */
281            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
282            public com.liferay.portal.model.WorkflowInstanceLink updateWorkflowInstanceLink(
283                    com.liferay.portal.model.WorkflowInstanceLink workflowInstanceLink);
284    }