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.document.library.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.document.library.kernel.model.DLSyncEvent;
020    
021    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
022    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
023    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
024    import com.liferay.portal.kernel.dao.orm.Projection;
025    import com.liferay.portal.kernel.exception.PortalException;
026    import com.liferay.portal.kernel.exception.SystemException;
027    import com.liferay.portal.kernel.model.PersistedModel;
028    import com.liferay.portal.kernel.search.Indexable;
029    import com.liferay.portal.kernel.search.IndexableType;
030    import com.liferay.portal.kernel.service.BaseLocalService;
031    import com.liferay.portal.kernel.service.PersistedModelLocalService;
032    import com.liferay.portal.kernel.transaction.Isolation;
033    import com.liferay.portal.kernel.transaction.Propagation;
034    import com.liferay.portal.kernel.transaction.Transactional;
035    import com.liferay.portal.kernel.util.OrderByComparator;
036    
037    import java.io.Serializable;
038    
039    import java.util.List;
040    
041    /**
042     * Provides the local service interface for DLSyncEvent. Methods of this
043     * service will not have security checks based on the propagated JAAS
044     * credentials because this service can only be accessed from within the same
045     * VM.
046     *
047     * @author Brian Wing Shun Chan
048     * @see DLSyncEventLocalServiceUtil
049     * @see com.liferay.portlet.documentlibrary.service.base.DLSyncEventLocalServiceBaseImpl
050     * @see com.liferay.portlet.documentlibrary.service.impl.DLSyncEventLocalServiceImpl
051     * @generated
052     */
053    @ProviderType
054    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
055            PortalException.class, SystemException.class})
056    public interface DLSyncEventLocalService extends BaseLocalService,
057            PersistedModelLocalService {
058            /*
059             * NOTE FOR DEVELOPERS:
060             *
061             * Never modify or reference this interface directly. Always use {@link DLSyncEventLocalServiceUtil} to access the d l sync event local service. Add custom service methods to {@link com.liferay.portlet.documentlibrary.service.impl.DLSyncEventLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
062             */
063    
064            /**
065            * Adds the d l sync event to the database. Also notifies the appropriate model listeners.
066            *
067            * @param dlSyncEvent the d l sync event
068            * @return the d l sync event that was added
069            */
070            @Indexable(type = IndexableType.REINDEX)
071            public DLSyncEvent addDLSyncEvent(DLSyncEvent dlSyncEvent);
072    
073            public DLSyncEvent addDLSyncEvent(java.lang.String event,
074                    java.lang.String type, long typePK);
075    
076            /**
077            * Creates a new d l sync event with the primary key. Does not add the d l sync event to the database.
078            *
079            * @param syncEventId the primary key for the new d l sync event
080            * @return the new d l sync event
081            */
082            public DLSyncEvent createDLSyncEvent(long syncEventId);
083    
084            /**
085            * Deletes the d l sync event from the database. Also notifies the appropriate model listeners.
086            *
087            * @param dlSyncEvent the d l sync event
088            * @return the d l sync event that was removed
089            */
090            @Indexable(type = IndexableType.DELETE)
091            public DLSyncEvent deleteDLSyncEvent(DLSyncEvent dlSyncEvent);
092    
093            /**
094            * Deletes the d l sync event with the primary key from the database. Also notifies the appropriate model listeners.
095            *
096            * @param syncEventId the primary key of the d l sync event
097            * @return the d l sync event that was removed
098            * @throws PortalException if a d l sync event with the primary key could not be found
099            */
100            @Indexable(type = IndexableType.DELETE)
101            public DLSyncEvent deleteDLSyncEvent(long syncEventId)
102                    throws PortalException;
103    
104            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
105            public DLSyncEvent fetchDLSyncEvent(long syncEventId);
106    
107            /**
108            * Returns the d l sync event with the primary key.
109            *
110            * @param syncEventId the primary key of the d l sync event
111            * @return the d l sync event
112            * @throws PortalException if a d l sync event with the primary key could not be found
113            */
114            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
115            public DLSyncEvent getDLSyncEvent(long syncEventId)
116                    throws PortalException;
117    
118            /**
119            * Updates the d l sync event in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
120            *
121            * @param dlSyncEvent the d l sync event
122            * @return the d l sync event that was updated
123            */
124            @Indexable(type = IndexableType.REINDEX)
125            public DLSyncEvent updateDLSyncEvent(DLSyncEvent dlSyncEvent);
126    
127            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
128            public ActionableDynamicQuery getActionableDynamicQuery();
129    
130            public DynamicQuery dynamicQuery();
131    
132            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
133            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
134    
135            /**
136            * @throws PortalException
137            */
138            @Override
139            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
140                    throws PortalException;
141    
142            @Override
143            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
144            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
145                    throws PortalException;
146    
147            /**
148            * Returns the number of d l sync events.
149            *
150            * @return the number of d l sync events
151            */
152            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
153            public int getDLSyncEventsCount();
154    
155            /**
156            * Returns the OSGi service identifier.
157            *
158            * @return the OSGi service identifier
159            */
160            public java.lang.String getOSGiServiceIdentifier();
161    
162            /**
163            * Performs a dynamic query on the database and returns the matching rows.
164            *
165            * @param dynamicQuery the dynamic query
166            * @return the matching rows
167            */
168            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);
169    
170            /**
171            * Performs a dynamic query on the database and returns a range of the matching rows.
172            *
173            * <p>
174            * 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.portlet.documentlibrary.model.impl.DLSyncEventModelImpl}. 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.
175            * </p>
176            *
177            * @param dynamicQuery the dynamic query
178            * @param start the lower bound of the range of model instances
179            * @param end the upper bound of the range of model instances (not inclusive)
180            * @return the range of matching rows
181            */
182            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
183                    int end);
184    
185            /**
186            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
187            *
188            * <p>
189            * 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.portlet.documentlibrary.model.impl.DLSyncEventModelImpl}. 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.
190            * </p>
191            *
192            * @param dynamicQuery the dynamic query
193            * @param start the lower bound of the range of model instances
194            * @param end the upper bound of the range of model instances (not inclusive)
195            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
196            * @return the ordered range of matching rows
197            */
198            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
199                    int end, OrderByComparator<T> orderByComparator);
200    
201            /**
202            * Returns a range of all the d l sync events.
203            *
204            * <p>
205            * 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.portlet.documentlibrary.model.impl.DLSyncEventModelImpl}. 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.
206            * </p>
207            *
208            * @param start the lower bound of the range of d l sync events
209            * @param end the upper bound of the range of d l sync events (not inclusive)
210            * @return the range of d l sync events
211            */
212            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
213            public List<DLSyncEvent> getDLSyncEvents(int start, int end);
214    
215            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
216            public List<DLSyncEvent> getDLSyncEvents(long modifiedTime);
217    
218            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
219            public List<DLSyncEvent> getLatestDLSyncEvents();
220    
221            /**
222            * Returns the number of rows matching the dynamic query.
223            *
224            * @param dynamicQuery the dynamic query
225            * @return the number of rows matching the dynamic query
226            */
227            public long dynamicQueryCount(DynamicQuery dynamicQuery);
228    
229            /**
230            * Returns the number of rows matching the dynamic query.
231            *
232            * @param dynamicQuery the dynamic query
233            * @param projection the projection to apply to the query
234            * @return the number of rows matching the dynamic query
235            */
236            public long dynamicQueryCount(DynamicQuery dynamicQuery,
237                    Projection projection);
238    
239            public void deleteDLSyncEvents();
240    }