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. 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.asset.model.impl.AssetLinkModelImpl}. 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. 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. 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.asset.model.impl.AssetLinkModelImpl}. 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. 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. 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.asset.model.impl.AssetLinkModelImpl}. 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. 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 }