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