001 /** 002 * Copyright (c) 2000-2011 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 /** 150 * Returns the asset link with the primary key. 151 * 152 * @param linkId the primary key of the asset link 153 * @return the asset link 154 * @throws PortalException if a asset link with the primary key could not be found 155 * @throws SystemException if a system exception occurred 156 */ 157 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 158 public com.liferay.portlet.asset.model.AssetLink getAssetLink(long linkId) 159 throws com.liferay.portal.kernel.exception.PortalException, 160 com.liferay.portal.kernel.exception.SystemException; 161 162 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 163 public com.liferay.portal.model.PersistedModel getPersistedModel( 164 java.io.Serializable primaryKeyObj) 165 throws com.liferay.portal.kernel.exception.PortalException, 166 com.liferay.portal.kernel.exception.SystemException; 167 168 /** 169 * Returns a range of all the asset links. 170 * 171 * <p> 172 * 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. 173 * </p> 174 * 175 * @param start the lower bound of the range of asset links 176 * @param end the upper bound of the range of asset links (not inclusive) 177 * @return the range of asset links 178 * @throws SystemException if a system exception occurred 179 */ 180 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 181 public java.util.List<com.liferay.portlet.asset.model.AssetLink> getAssetLinks( 182 int start, int end) 183 throws com.liferay.portal.kernel.exception.SystemException; 184 185 /** 186 * Returns the number of asset links. 187 * 188 * @return the number of asset links 189 * @throws SystemException if a system exception occurred 190 */ 191 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 192 public int getAssetLinksCount() 193 throws com.liferay.portal.kernel.exception.SystemException; 194 195 /** 196 * Updates the asset link in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 197 * 198 * @param assetLink the asset link 199 * @return the asset link that was updated 200 * @throws SystemException if a system exception occurred 201 */ 202 public com.liferay.portlet.asset.model.AssetLink updateAssetLink( 203 com.liferay.portlet.asset.model.AssetLink assetLink) 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 * @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. 211 * @return the asset link that was updated 212 * @throws SystemException if a system exception occurred 213 */ 214 public com.liferay.portlet.asset.model.AssetLink updateAssetLink( 215 com.liferay.portlet.asset.model.AssetLink assetLink, boolean merge) 216 throws com.liferay.portal.kernel.exception.SystemException; 217 218 /** 219 * Returns the Spring bean ID for this bean. 220 * 221 * @return the Spring bean ID for this bean 222 */ 223 public java.lang.String getBeanIdentifier(); 224 225 /** 226 * Sets the Spring bean ID for this bean. 227 * 228 * @param beanIdentifier the Spring bean ID for this bean 229 */ 230 public void setBeanIdentifier(java.lang.String beanIdentifier); 231 232 /** 233 * Adds a new asset link. 234 * 235 * @param userId the primary key of the link's creator 236 * @param entryId1 the primary key of the first asset entry 237 * @param entryId2 the primary key of the second asset entry 238 * @param type the link type. Acceptable values include {@link 239 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED} 240 which is a bidirectional relationship and {@link 241 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD} 242 which is a unidirectional relationship. For more information see 243 {@link com.liferay.portlet.asset.model.AssetLinkConstants} 244 * @param weight the weight of the relationship, allowing precedence 245 ordering of links 246 * @return the asset link 247 * @throws PortalException if the user could not be found 248 * @throws SystemException if a system exception occurred 249 */ 250 public com.liferay.portlet.asset.model.AssetLink addLink(long userId, 251 long entryId1, long entryId2, int type, int weight) 252 throws com.liferay.portal.kernel.exception.PortalException, 253 com.liferay.portal.kernel.exception.SystemException; 254 255 /** 256 * Deletes the asset link. 257 * 258 * @param link the asset link 259 * @throws SystemException if a system exception occurred 260 */ 261 public void deleteLink(com.liferay.portlet.asset.model.AssetLink link) 262 throws com.liferay.portal.kernel.exception.SystemException; 263 264 /** 265 * Deletes the asset link. 266 * 267 * @param linkId the primary key of the asset link 268 * @throws PortalException if the asset link could not be found 269 * @throws SystemException if a system exception occurred 270 */ 271 public void deleteLink(long linkId) 272 throws com.liferay.portal.kernel.exception.PortalException, 273 com.liferay.portal.kernel.exception.SystemException; 274 275 /** 276 * Deletes all links associated with the asset entry. 277 * 278 * @param entryId the primary key of the asset entry 279 * @throws SystemException if a system exception occurred 280 */ 281 public void deleteLinks(long entryId) 282 throws com.liferay.portal.kernel.exception.SystemException; 283 284 /** 285 * Delete all links that associate the two asset entries. 286 * 287 * @param entryId1 the primary key of the first asset entry 288 * @param entryId2 the primary key of the second asset entry 289 * @throws SystemException if a system exception occurred 290 */ 291 public void deleteLinks(long entryId1, long entryId2) 292 throws com.liferay.portal.kernel.exception.SystemException; 293 294 /** 295 * Returns all the asset links whose first entry ID is the given entry ID. 296 * 297 * @param entryId the primary key of the asset entry 298 * @return the asset links whose first entry ID is the given entry ID 299 * @throws SystemException if a system exception occurred 300 */ 301 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 302 public java.util.List<com.liferay.portlet.asset.model.AssetLink> getDirectLinks( 303 long entryId) 304 throws com.liferay.portal.kernel.exception.SystemException; 305 306 /** 307 * Returns all the asset links of the given link type whose first entry ID 308 * is the given entry ID. 309 * 310 * @param entryId the primary key of the asset entry 311 * @param typeId the link type. Acceptable values include {@link 312 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED} 313 which is a bidirectional relationship and {@link 314 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD} 315 which is a unidirectional relationship. For more information see 316 {@link com.liferay.portlet.asset.model.AssetLinkConstants} 317 * @return the asset links of the given link type whose first entry ID is 318 the given entry ID 319 * @throws SystemException if a system exception occurred 320 */ 321 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 322 public java.util.List<com.liferay.portlet.asset.model.AssetLink> getDirectLinks( 323 long entryId, int typeId) 324 throws com.liferay.portal.kernel.exception.SystemException; 325 326 /** 327 * Returns all the asset links whose first or second entry ID is the given 328 * entry ID. 329 * 330 * @param entryId the primary key of the asset entry 331 * @return the asset links whose first or second entry ID is the given 332 entry ID 333 * @throws SystemException if a system exception occurred 334 */ 335 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 336 public java.util.List<com.liferay.portlet.asset.model.AssetLink> getLinks( 337 long entryId) 338 throws com.liferay.portal.kernel.exception.SystemException; 339 340 /** 341 * Returns all the asset links of the given link type whose first or second 342 * entry ID is the given entry ID. 343 * 344 * @param entryId the primary key of the asset entry 345 * @param typeId the link type. Acceptable values include {@link 346 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED} 347 which is a bidirectional relationship and {@link 348 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD} 349 which is a unidirectional relationship. For more information see 350 {@link com.liferay.portlet.asset.model.AssetLinkConstants} 351 * @return the asset links of the given link type whose first or second 352 entry ID is the given entry ID 353 * @throws SystemException if a system exception occurred 354 */ 355 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 356 public java.util.List<com.liferay.portlet.asset.model.AssetLink> getLinks( 357 long entryId, int typeId) 358 throws com.liferay.portal.kernel.exception.SystemException; 359 360 /** 361 * Returns all the asset links of the given link type whose second entry ID 362 * is the given entry ID. 363 * 364 * @param entryId the primary key of the asset entry 365 * @param typeId the link type. Acceptable values include {@link 366 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED} 367 which is a bidirectional relationship and {@link 368 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD} 369 which is a unidirectional relationship. For more information see 370 {@link com.liferay.portlet.asset.model.AssetLinkConstants} 371 * @return the asset links of the given link type whose second entry ID is 372 the given entry ID 373 * @throws SystemException if a system exception occurred 374 */ 375 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 376 public java.util.List<com.liferay.portlet.asset.model.AssetLink> getReverseLinks( 377 long entryId, int typeId) 378 throws com.liferay.portal.kernel.exception.SystemException; 379 380 /** 381 * Updates all links of the asset entry, replacing them with links 382 * associating the asset entry with the asset entries of the given link 383 * entry IDs. 384 * 385 * <p> 386 * If no link exists with a given link entry ID, a new link is created 387 * associating the current asset entry with the asset entry of that link 388 * entry ID. An existing link is deleted if either of its entry IDs is not 389 * contained in the given link entry IDs. 390 * </p> 391 * 392 * @param userId the primary key of the user updating the links 393 * @param entryId the primary key of the asset entry to be managed 394 * @param linkEntryIds the primary keys of the asset entries to be linked 395 with the asset entry to be managed 396 * @param typeId the type of the asset links to be created. Acceptable 397 values include {@link 398 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_RELATED} 399 which is a bidirectional relationship and {@link 400 com.liferay.portlet.asset.model.AssetLinkConstants#TYPE_CHILD} 401 which is a unidirectional relationship. For more information see 402 {@link com.liferay.portlet.asset.model.AssetLinkConstants} 403 * @throws PortalException if the user could not be found 404 * @throws SystemException if a system exception occurred 405 */ 406 public void updateLinks(long userId, long entryId, long[] linkEntryIds, 407 int typeId) 408 throws com.liferay.portal.kernel.exception.PortalException, 409 com.liferay.portal.kernel.exception.SystemException; 410 }