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