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.asset.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.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    import com.liferay.portal.service.BaseLocalService;
023    import com.liferay.portal.service.PersistedModelLocalService;
024    
025    /**
026     * The interface for the asset link local service.
027     *
028     * <p>
029     * 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.
030     * </p>
031     *
032     * @author Brian Wing Shun Chan
033     * @see AssetLinkLocalServiceUtil
034     * @see com.liferay.portlet.asset.service.base.AssetLinkLocalServiceBaseImpl
035     * @see com.liferay.portlet.asset.service.impl.AssetLinkLocalServiceImpl
036     * @generated
037     */
038    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
039            PortalException.class, SystemException.class})
040    public interface AssetLinkLocalService extends BaseLocalService,
041            PersistedModelLocalService {
042            /*
043             * NOTE FOR DEVELOPERS:
044             *
045             * Never modify or reference this interface directly. Always use {@link AssetLinkLocalServiceUtil} to access the asset link local service. Add custom service methods to {@link com.liferay.portlet.asset.service.impl.AssetLinkLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
046             */
047    
048            /**
049            * Adds the asset link to the database. Also notifies the appropriate model listeners.
050            *
051            * @param assetLink the asset link
052            * @return the asset link that was added
053            * @throws SystemException if a system exception occurred
054            */
055            public com.liferay.portlet.asset.model.AssetLink addAssetLink(
056                    com.liferay.portlet.asset.model.AssetLink assetLink)
057                    throws com.liferay.portal.kernel.exception.SystemException;
058    
059            /**
060            * Creates a new asset link with the primary key. Does not add the asset link to the database.
061            *
062            * @param linkId the primary key for the new asset link
063            * @return the new asset link
064            */
065            public com.liferay.portlet.asset.model.AssetLink createAssetLink(
066                    long linkId);
067    
068            /**
069            * Deletes the asset link with the primary key from the database. Also notifies the appropriate model listeners.
070            *
071            * @param linkId the primary key of the asset link
072            * @return the asset link that was removed
073            * @throws PortalException if a asset link with the primary key could not be found
074            * @throws SystemException if a system exception occurred
075            */
076            public com.liferay.portlet.asset.model.AssetLink deleteAssetLink(
077                    long linkId)
078                    throws com.liferay.portal.kernel.exception.PortalException,
079                            com.liferay.portal.kernel.exception.SystemException;
080    
081            /**
082            * Deletes the asset link from the database. Also notifies the appropriate model listeners.
083            *
084            * @param assetLink the asset link
085            * @return the asset link that was removed
086            * @throws SystemException if a system exception occurred
087            */
088            public com.liferay.portlet.asset.model.AssetLink deleteAssetLink(
089                    com.liferay.portlet.asset.model.AssetLink assetLink)
090                    throws com.liferay.portal.kernel.exception.SystemException;
091    
092            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
093    
094            /**
095            * Performs a dynamic query on the database and returns the matching rows.
096            *
097            * @param dynamicQuery the dynamic query
098            * @return the matching rows
099            * @throws SystemException if a system exception occurred
100            */
101            @SuppressWarnings("rawtypes")
102            public java.util.List dynamicQuery(
103                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
104                    throws com.liferay.portal.kernel.exception.SystemException;
105    
106            /**
107            * Performs a dynamic query on the database and returns a range of the matching rows.
108            *
109            * <p>
110            * 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.
111            * </p>
112            *
113            * @param dynamicQuery the dynamic query
114            * @param start the lower bound of the range of model instances
115            * @param end the upper bound of the range of model instances (not inclusive)
116            * @return the range of matching rows
117            * @throws SystemException if a system exception occurred
118            */
119            @SuppressWarnings("rawtypes")
120            public java.util.List dynamicQuery(
121                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
122                    int end) throws com.liferay.portal.kernel.exception.SystemException;
123    
124            /**
125            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
126            *
127            * <p>
128            * 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.
129            * </p>
130            *
131            * @param dynamicQuery the dynamic query
132            * @param start the lower bound of the range of model instances
133            * @param end the upper bound of the range of model instances (not inclusive)
134            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
135            * @return the ordered range of matching rows
136            * @throws SystemException if a system exception occurred
137            */
138            @SuppressWarnings("rawtypes")
139            public java.util.List dynamicQuery(
140                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
141                    int end,
142                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
143                    throws com.liferay.portal.kernel.exception.SystemException;
144    
145            /**
146            * Returns the number of rows that match the dynamic query.
147            *
148            * @param dynamicQuery the dynamic query
149            * @return the number of rows that match the dynamic query
150            * @throws SystemException if a system exception occurred
151            */
152            public long dynamicQueryCount(
153                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
154                    throws com.liferay.portal.kernel.exception.SystemException;
155    
156            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
157            public com.liferay.portlet.asset.model.AssetLink fetchAssetLink(long linkId)
158                    throws com.liferay.portal.kernel.exception.SystemException;
159    
160            /**
161            * Returns the asset link with the primary key.
162            *
163            * @param linkId the primary key of the asset link
164            * @return the asset link
165            * @throws PortalException if a asset link with the primary key could not be found
166            * @throws SystemException if a system exception occurred
167            */
168            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
169            public com.liferay.portlet.asset.model.AssetLink getAssetLink(long linkId)
170                    throws com.liferay.portal.kernel.exception.PortalException,
171                            com.liferay.portal.kernel.exception.SystemException;
172    
173            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
174            public com.liferay.portal.model.PersistedModel getPersistedModel(
175                    java.io.Serializable primaryKeyObj)
176                    throws com.liferay.portal.kernel.exception.PortalException,
177                            com.liferay.portal.kernel.exception.SystemException;
178    
179            /**
180            * Returns a range of all the asset links.
181            *
182            * <p>
183            * 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.
184            * </p>
185            *
186            * @param start the lower bound of the range of asset links
187            * @param end the upper bound of the range of asset links (not inclusive)
188            * @return the range of asset links
189            * @throws SystemException if a system exception occurred
190            */
191            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
192            public java.util.List<com.liferay.portlet.asset.model.AssetLink> getAssetLinks(
193                    int start, int end)
194                    throws com.liferay.portal.kernel.exception.SystemException;
195    
196            /**
197            * Returns the number of asset links.
198            *
199            * @return the number of asset links
200            * @throws SystemException if a system exception occurred
201            */
202            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
203            public int getAssetLinksCount()
204                    throws com.liferay.portal.kernel.exception.SystemException;
205    
206            /**
207            * Updates the asset link in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
208            *
209            * @param assetLink the asset link
210            * @return the asset link that was updated
211            * @throws SystemException if a system exception occurred
212            */
213            public com.liferay.portlet.asset.model.AssetLink updateAssetLink(
214                    com.liferay.portlet.asset.model.AssetLink assetLink)
215                    throws com.liferay.portal.kernel.exception.SystemException;
216    
217            /**
218            * Returns the Spring bean ID for this bean.
219            *
220            * @return the Spring bean ID for this bean
221            */
222            public java.lang.String getBeanIdentifier();
223    
224            /**
225            * Sets the Spring bean ID for this bean.
226            *
227            * @param beanIdentifier the Spring bean ID for this bean
228            */
229            public void setBeanIdentifier(java.lang.String beanIdentifier);
230    
231            /**
232            * Adds a new asset link.
233            *
234            * @param userId the primary key of the link's creator
235            * @param entryId1 the primary key of the first asset entry
236            * @param entryId2 the primary key of the second asset entry
237            * @param type the link type. Acceptable values include {@link
238            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED}
239            which is a bidirectional relationship and {@link
240            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD}
241            which is a unidirectional relationship. For more information see
242            {@link com.liferay.portlet.asset.model.AssetLinkConstants}
243            * @param weight the weight of the relationship, allowing precedence
244            ordering of links
245            * @return the asset link
246            * @throws PortalException if the user could not be found
247            * @throws SystemException if a system exception occurred
248            */
249            public com.liferay.portlet.asset.model.AssetLink addLink(long userId,
250                    long entryId1, long entryId2, int type, int weight)
251                    throws com.liferay.portal.kernel.exception.PortalException,
252                            com.liferay.portal.kernel.exception.SystemException;
253    
254            /**
255            * Deletes the asset link.
256            *
257            * @param link the asset link
258            * @throws SystemException if a system exception occurred
259            */
260            public void deleteLink(com.liferay.portlet.asset.model.AssetLink link)
261                    throws com.liferay.portal.kernel.exception.SystemException;
262    
263            /**
264            * Deletes the asset link.
265            *
266            * @param linkId the primary key of the asset link
267            * @throws PortalException if the asset link could not be found
268            * @throws SystemException if a system exception occurred
269            */
270            public void deleteLink(long linkId)
271                    throws com.liferay.portal.kernel.exception.PortalException,
272                            com.liferay.portal.kernel.exception.SystemException;
273    
274            /**
275            * Deletes all links associated with the asset entry.
276            *
277            * @param entryId the primary key of the asset entry
278            * @throws SystemException if a system exception occurred
279            */
280            public void deleteLinks(long entryId)
281                    throws com.liferay.portal.kernel.exception.SystemException;
282    
283            /**
284            * Delete all links that associate the two asset entries.
285            *
286            * @param entryId1 the primary key of the first asset entry
287            * @param entryId2 the primary key of the second asset entry
288            * @throws SystemException if a system exception occurred
289            */
290            public void deleteLinks(long entryId1, long entryId2)
291                    throws com.liferay.portal.kernel.exception.SystemException;
292    
293            /**
294            * Returns all the asset links whose first entry ID is the given entry ID.
295            *
296            * @param entryId the primary key of the asset entry
297            * @return the asset links whose first entry ID is the given entry ID
298            * @throws SystemException if a system exception occurred
299            */
300            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
301            public java.util.List<com.liferay.portlet.asset.model.AssetLink> getDirectLinks(
302                    long entryId)
303                    throws com.liferay.portal.kernel.exception.SystemException;
304    
305            /**
306            * Returns all the asset links of the given link type whose first entry ID
307            * is the given entry ID.
308            *
309            * @param entryId the primary key of the asset entry
310            * @param typeId the link type. Acceptable values include {@link
311            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED}
312            which is a bidirectional relationship and {@link
313            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD}
314            which is a unidirectional relationship. For more information see
315            {@link com.liferay.portlet.asset.model.AssetLinkConstants}
316            * @return the asset links of the given link type whose first entry ID is
317            the given entry ID
318            * @throws SystemException if a system exception occurred
319            */
320            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
321            public java.util.List<com.liferay.portlet.asset.model.AssetLink> getDirectLinks(
322                    long entryId, int typeId)
323                    throws com.liferay.portal.kernel.exception.SystemException;
324    
325            /**
326            * Returns all the asset links whose first or second entry ID is the given
327            * entry ID.
328            *
329            * @param entryId the primary key of the asset entry
330            * @return the asset links whose first or second entry ID is the given entry
331            ID
332            * @throws SystemException if a system exception occurred
333            */
334            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
335            public java.util.List<com.liferay.portlet.asset.model.AssetLink> getLinks(
336                    long entryId)
337                    throws com.liferay.portal.kernel.exception.SystemException;
338    
339            /**
340            * Returns all the asset links of the given link type whose first or second
341            * entry ID is the given entry ID.
342            *
343            * @param entryId the primary key of the asset entry
344            * @param typeId the link type. Acceptable values include {@link
345            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED}
346            which is a bidirectional relationship and {@link
347            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD}
348            which is a unidirectional relationship. For more information see
349            {@link com.liferay.portlet.asset.model.AssetLinkConstants}
350            * @return the asset links of the given link type whose first or second
351            entry ID is the given entry ID
352            * @throws SystemException if a system exception occurred
353            */
354            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
355            public java.util.List<com.liferay.portlet.asset.model.AssetLink> getLinks(
356                    long entryId, int typeId)
357                    throws com.liferay.portal.kernel.exception.SystemException;
358    
359            /**
360            * Returns all the asset links of the given link type whose second entry ID
361            * is the given entry ID.
362            *
363            * @param entryId the primary key of the asset entry
364            * @param typeId the link type. Acceptable values include {@link
365            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED}
366            which is a bidirectional relationship and {@link
367            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD}
368            which is a unidirectional relationship. For more information see
369            {@link com.liferay.portlet.asset.model.AssetLinkConstants}
370            * @return the asset links of the given link type whose second entry ID is
371            the given entry ID
372            * @throws SystemException if a system exception occurred
373            */
374            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
375            public java.util.List<com.liferay.portlet.asset.model.AssetLink> getReverseLinks(
376                    long entryId, int typeId)
377                    throws com.liferay.portal.kernel.exception.SystemException;
378    
379            /**
380            * Updates all links of the asset entry, replacing them with links
381            * associating the asset entry with the asset entries of the given link
382            * entry IDs.
383            *
384            * <p>
385            * If no link exists with a given link entry ID, a new link is created
386            * associating the current asset entry with the asset entry of that link
387            * entry ID. An existing link is deleted if either of its entry IDs is not
388            * contained in the given link entry IDs.
389            * </p>
390            *
391            * @param userId the primary key of the user updating the links
392            * @param entryId the primary key of the asset entry to be managed
393            * @param linkEntryIds the primary keys of the asset entries to be linked
394            with the asset entry to be managed
395            * @param typeId the type of the asset links to be created. Acceptable
396            values include {@link
397            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED}
398            which is a bidirectional relationship and {@link
399            com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD}
400            which is a unidirectional relationship. For more information see
401            {@link com.liferay.portlet.asset.model.AssetLinkConstants}
402            * @throws PortalException if the user could not be found
403            * @throws SystemException if a system exception occurred
404            */
405            public void updateLinks(long userId, long entryId, long[] linkEntryIds,
406                    int typeId)
407                    throws com.liferay.portal.kernel.exception.PortalException,
408                            com.liferay.portal.kernel.exception.SystemException;
409    }