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.portal.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 023 /** 024 * Provides the local service interface for Subscription. Methods of this 025 * service will not have security checks based on the propagated JAAS 026 * credentials because this service can only be accessed from within the same 027 * VM. 028 * 029 * @author Brian Wing Shun Chan 030 * @see SubscriptionLocalServiceUtil 031 * @see com.liferay.portal.service.base.SubscriptionLocalServiceBaseImpl 032 * @see com.liferay.portal.service.impl.SubscriptionLocalServiceImpl 033 * @generated 034 */ 035 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 036 PortalException.class, SystemException.class}) 037 public interface SubscriptionLocalService extends BaseLocalService, 038 PersistedModelLocalService { 039 /* 040 * NOTE FOR DEVELOPERS: 041 * 042 * Never modify or reference this interface directly. Always use {@link SubscriptionLocalServiceUtil} to access the subscription local service. Add custom service methods to {@link com.liferay.portal.service.impl.SubscriptionLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 043 */ 044 045 /** 046 * Adds the subscription to the database. Also notifies the appropriate model listeners. 047 * 048 * @param subscription the subscription 049 * @return the subscription that was added 050 * @throws SystemException if a system exception occurred 051 */ 052 public com.liferay.portal.model.Subscription addSubscription( 053 com.liferay.portal.model.Subscription subscription) 054 throws com.liferay.portal.kernel.exception.SystemException; 055 056 /** 057 * Creates a new subscription with the primary key. Does not add the subscription to the database. 058 * 059 * @param subscriptionId the primary key for the new subscription 060 * @return the new subscription 061 */ 062 public com.liferay.portal.model.Subscription createSubscription( 063 long subscriptionId); 064 065 /** 066 * Deletes the subscription with the primary key from the database. Also notifies the appropriate model listeners. 067 * 068 * @param subscriptionId the primary key of the subscription 069 * @return the subscription that was removed 070 * @throws PortalException if a subscription with the primary key could not be found 071 * @throws SystemException if a system exception occurred 072 */ 073 public com.liferay.portal.model.Subscription deleteSubscription( 074 long subscriptionId) 075 throws com.liferay.portal.kernel.exception.PortalException, 076 com.liferay.portal.kernel.exception.SystemException; 077 078 /** 079 * Deletes the subscription from the database. Also notifies the appropriate model listeners. 080 * 081 * @param subscription the subscription 082 * @return the subscription that was removed 083 * @throws PortalException 084 * @throws SystemException if a system exception occurred 085 */ 086 public com.liferay.portal.model.Subscription deleteSubscription( 087 com.liferay.portal.model.Subscription subscription) 088 throws com.liferay.portal.kernel.exception.PortalException, 089 com.liferay.portal.kernel.exception.SystemException; 090 091 public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery(); 092 093 /** 094 * Performs a dynamic query on the database and returns the matching rows. 095 * 096 * @param dynamicQuery the dynamic query 097 * @return the matching rows 098 * @throws SystemException if a system exception occurred 099 */ 100 @SuppressWarnings("rawtypes") 101 public java.util.List dynamicQuery( 102 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 103 throws com.liferay.portal.kernel.exception.SystemException; 104 105 /** 106 * Performs a dynamic query on the database and returns a range of the matching rows. 107 * 108 * <p> 109 * 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.portal.model.impl.SubscriptionModelImpl}. 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. 110 * </p> 111 * 112 * @param dynamicQuery the dynamic query 113 * @param start the lower bound of the range of model instances 114 * @param end the upper bound of the range of model instances (not inclusive) 115 * @return the range of matching rows 116 * @throws SystemException if a system exception occurred 117 */ 118 @SuppressWarnings("rawtypes") 119 public java.util.List dynamicQuery( 120 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 121 int end) throws com.liferay.portal.kernel.exception.SystemException; 122 123 /** 124 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 125 * 126 * <p> 127 * 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.portal.model.impl.SubscriptionModelImpl}. 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. 128 * </p> 129 * 130 * @param dynamicQuery the dynamic query 131 * @param start the lower bound of the range of model instances 132 * @param end the upper bound of the range of model instances (not inclusive) 133 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 134 * @return the ordered range of matching rows 135 * @throws SystemException if a system exception occurred 136 */ 137 @SuppressWarnings("rawtypes") 138 public java.util.List dynamicQuery( 139 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 140 int end, 141 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 142 throws com.liferay.portal.kernel.exception.SystemException; 143 144 /** 145 * Returns the number of rows that match the dynamic query. 146 * 147 * @param dynamicQuery the dynamic query 148 * @return the number of rows that match the dynamic query 149 * @throws SystemException if a system exception occurred 150 */ 151 public long dynamicQueryCount( 152 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 153 throws com.liferay.portal.kernel.exception.SystemException; 154 155 /** 156 * Returns the number of rows that match the dynamic query. 157 * 158 * @param dynamicQuery the dynamic query 159 * @param projection the projection to apply to the query 160 * @return the number of rows that match the dynamic query 161 * @throws SystemException if a system exception occurred 162 */ 163 public long dynamicQueryCount( 164 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, 165 com.liferay.portal.kernel.dao.orm.Projection projection) 166 throws com.liferay.portal.kernel.exception.SystemException; 167 168 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 169 public com.liferay.portal.model.Subscription fetchSubscription( 170 long subscriptionId) 171 throws com.liferay.portal.kernel.exception.SystemException; 172 173 /** 174 * Returns the subscription with the primary key. 175 * 176 * @param subscriptionId the primary key of the subscription 177 * @return the subscription 178 * @throws PortalException if a subscription with the primary key could not be found 179 * @throws SystemException if a system exception occurred 180 */ 181 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 182 public com.liferay.portal.model.Subscription getSubscription( 183 long subscriptionId) 184 throws com.liferay.portal.kernel.exception.PortalException, 185 com.liferay.portal.kernel.exception.SystemException; 186 187 @Override 188 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 189 public com.liferay.portal.model.PersistedModel getPersistedModel( 190 java.io.Serializable primaryKeyObj) 191 throws com.liferay.portal.kernel.exception.PortalException, 192 com.liferay.portal.kernel.exception.SystemException; 193 194 /** 195 * Returns a range of all the subscriptions. 196 * 197 * <p> 198 * 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.portal.model.impl.SubscriptionModelImpl}. 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. 199 * </p> 200 * 201 * @param start the lower bound of the range of subscriptions 202 * @param end the upper bound of the range of subscriptions (not inclusive) 203 * @return the range of subscriptions 204 * @throws SystemException if a system exception occurred 205 */ 206 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 207 public java.util.List<com.liferay.portal.model.Subscription> getSubscriptions( 208 int start, int end) 209 throws com.liferay.portal.kernel.exception.SystemException; 210 211 /** 212 * Returns the number of subscriptions. 213 * 214 * @return the number of subscriptions 215 * @throws SystemException if a system exception occurred 216 */ 217 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 218 public int getSubscriptionsCount() 219 throws com.liferay.portal.kernel.exception.SystemException; 220 221 /** 222 * Updates the subscription in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 223 * 224 * @param subscription the subscription 225 * @return the subscription that was updated 226 * @throws SystemException if a system exception occurred 227 */ 228 public com.liferay.portal.model.Subscription updateSubscription( 229 com.liferay.portal.model.Subscription subscription) 230 throws com.liferay.portal.kernel.exception.SystemException; 231 232 /** 233 * Returns the Spring bean ID for this bean. 234 * 235 * @return the Spring bean ID for this bean 236 */ 237 public java.lang.String getBeanIdentifier(); 238 239 /** 240 * Sets the Spring bean ID for this bean. 241 * 242 * @param beanIdentifier the Spring bean ID for this bean 243 */ 244 public void setBeanIdentifier(java.lang.String beanIdentifier); 245 246 /** 247 * Subscribes the user to the entity, notifying him the instant the entity 248 * is created, deleted, or modified. 249 * 250 * <p> 251 * If there is no asset entry with the class name and class PK a new asset 252 * entry is created. 253 * </p> 254 * 255 * <p> 256 * A social activity for the subscription is created using the asset entry 257 * associated with the class name and class PK, or the newly created asset 258 * entry. 259 * </p> 260 * 261 * @param userId the primary key of the user 262 * @param groupId the primary key of the entity's group 263 * @param className the entity's class name 264 * @param classPK the primary key of the entity's instance 265 * @return the subscription 266 * @throws PortalException if a matching user or group could not be found 267 * @throws SystemException if a system exception occurred 268 */ 269 public com.liferay.portal.model.Subscription addSubscription(long userId, 270 long groupId, java.lang.String className, long classPK) 271 throws com.liferay.portal.kernel.exception.PortalException, 272 com.liferay.portal.kernel.exception.SystemException; 273 274 /** 275 * Subscribes the user to the entity, notifying him at the given frequency. 276 * 277 * <p> 278 * If there is no asset entry with the class name and class PK a new asset 279 * entry is created. 280 * </p> 281 * 282 * <p> 283 * A social activity for the subscription is created using the asset entry 284 * associated with the class name and class PK, or the newly created asset 285 * entry. 286 * </p> 287 * 288 * @param userId the primary key of the user 289 * @param groupId the primary key of the entity's group 290 * @param className the entity's class name 291 * @param classPK the primary key of the entity's instance 292 * @param frequency the frequency for notifications 293 * @return the subscription 294 * @throws PortalException if a matching user or group could not be found 295 * @throws SystemException if a system exception occurred 296 */ 297 public com.liferay.portal.model.Subscription addSubscription(long userId, 298 long groupId, java.lang.String className, long classPK, 299 java.lang.String frequency) 300 throws com.liferay.portal.kernel.exception.PortalException, 301 com.liferay.portal.kernel.exception.SystemException; 302 303 /** 304 * Deletes the user's subscription to the entity. A social activity with the 305 * unsubscribe action is created. 306 * 307 * @param userId the primary key of the user 308 * @param className the entity's class name 309 * @param classPK the primary key of the entity's instance 310 * @throws PortalException if a matching user or subscription could not be 311 found 312 * @throws SystemException if a system exception occurred 313 */ 314 public void deleteSubscription(long userId, java.lang.String className, 315 long classPK) 316 throws com.liferay.portal.kernel.exception.PortalException, 317 com.liferay.portal.kernel.exception.SystemException; 318 319 /** 320 * Deletes all the subscriptions of the user. 321 * 322 * @param userId the primary key of the user 323 * @throws PortalException if a portal exception occurred 324 * @throws SystemException if a system exception occurred 325 */ 326 public void deleteSubscriptions(long userId) 327 throws com.liferay.portal.kernel.exception.PortalException, 328 com.liferay.portal.kernel.exception.SystemException; 329 330 /** 331 * Deletes all the subscriptions to the entity. 332 * 333 * @param companyId the primary key of the company 334 * @param className the entity's class name 335 * @param classPK the primary key of the entity's instance 336 * @throws PortalException if a portal exception occurred 337 * @throws SystemException if a system exception occurred 338 */ 339 public void deleteSubscriptions(long companyId, java.lang.String className, 340 long classPK) 341 throws com.liferay.portal.kernel.exception.PortalException, 342 com.liferay.portal.kernel.exception.SystemException; 343 344 /** 345 * Returns the subscription of the user to the entity. 346 * 347 * @param companyId the primary key of the company 348 * @param userId the primary key of the user 349 * @param className the entity's class name 350 * @param classPK the primary key of the entity's instance 351 * @return the subscription of the user to the entity 352 * @throws PortalException if a matching subscription could not be found 353 * @throws SystemException if a system exception occurred 354 */ 355 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 356 public com.liferay.portal.model.Subscription getSubscription( 357 long companyId, long userId, java.lang.String className, long classPK) 358 throws com.liferay.portal.kernel.exception.PortalException, 359 com.liferay.portal.kernel.exception.SystemException; 360 361 /** 362 * Returns all the subscriptions of the user to the entities. 363 * 364 * @param companyId the primary key of the company 365 * @param userId the primary key of the user 366 * @param className the entity's class name 367 * @param classPKs the primary key of the entities 368 * @return the subscriptions of the user to the entities 369 * @throws SystemException if a system exception occurred 370 */ 371 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 372 public java.util.List<com.liferay.portal.model.Subscription> getSubscriptions( 373 long companyId, long userId, java.lang.String className, long[] classPKs) 374 throws com.liferay.portal.kernel.exception.SystemException; 375 376 /** 377 * Returns all the subscriptions to the entity. 378 * 379 * @param companyId the primary key of the company 380 * @param className the entity's class name 381 * @param classPK the primary key of the entity's instance 382 * @return the subscriptions to the entity 383 * @throws SystemException if a system exception occurred 384 */ 385 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 386 public java.util.List<com.liferay.portal.model.Subscription> getSubscriptions( 387 long companyId, java.lang.String className, long classPK) 388 throws com.liferay.portal.kernel.exception.SystemException; 389 390 /** 391 * Returns an ordered range of all the subscriptions of the user. 392 * 393 * @param userId the primary key of the user 394 * @param start the lower bound of the range of results 395 * @param end the upper bound of the range of results (not inclusive) 396 * @param orderByComparator the comparator to order the subscriptions 397 * @return the range of subscriptions of the user 398 * @throws SystemException if a system exception occurred 399 */ 400 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 401 public java.util.List<com.liferay.portal.model.Subscription> getUserSubscriptions( 402 long userId, int start, int end, 403 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 404 throws com.liferay.portal.kernel.exception.SystemException; 405 406 /** 407 * Returns all the subscriptions of the user to the entities with the class 408 * name. 409 * 410 * @param userId the primary key of the user 411 * @param className the entity's class name 412 * @return the subscriptions of the user to the entities with the class name 413 * @throws SystemException if a system exception occurred 414 */ 415 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 416 public java.util.List<com.liferay.portal.model.Subscription> getUserSubscriptions( 417 long userId, java.lang.String className) 418 throws com.liferay.portal.kernel.exception.SystemException; 419 420 /** 421 * Returns the number of subscriptions of the user. 422 * 423 * @param userId the primary key of the user 424 * @return the number of subscriptions of the user 425 * @throws SystemException if a system exception occurred 426 */ 427 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 428 public int getUserSubscriptionsCount(long userId) 429 throws com.liferay.portal.kernel.exception.SystemException; 430 431 /** 432 * Returns <code>true</code> if the user is subscribed to the entity. 433 * 434 * @param companyId the primary key of the company 435 * @param userId the primary key of the user 436 * @param className the entity's class name 437 * @param classPK the primary key of the entity's instance 438 * @return <code>true</code> if the user is subscribed to the entity; 439 <code>false</code> otherwise 440 * @throws SystemException if a system exception occurred 441 */ 442 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 443 public boolean isSubscribed(long companyId, long userId, 444 java.lang.String className, long classPK) 445 throws com.liferay.portal.kernel.exception.SystemException; 446 447 /** 448 * Returns <code>true</code> if the user is subscribed to any of the 449 * entities. 450 * 451 * @param companyId the primary key of the company 452 * @param userId the primary key of the user 453 * @param className the entity's class name 454 * @param classPKs the primary key of the entities 455 * @return <code>true</code> if the user is subscribed to any of the 456 entities; <code>false</code> otherwise 457 * @throws SystemException if a system exception occurred 458 */ 459 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 460 public boolean isSubscribed(long companyId, long userId, 461 java.lang.String className, long[] classPKs) 462 throws com.liferay.portal.kernel.exception.SystemException; 463 }