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 * The interface for the subscription local service. 025 * 026 * <p> 027 * 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. 028 * </p> 029 * 030 * @author Brian Wing Shun Chan 031 * @see SubscriptionLocalServiceUtil 032 * @see com.liferay.portal.service.base.SubscriptionLocalServiceBaseImpl 033 * @see com.liferay.portal.service.impl.SubscriptionLocalServiceImpl 034 * @generated 035 */ 036 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 037 PortalException.class, SystemException.class}) 038 public interface SubscriptionLocalService extends BaseLocalService, 039 PersistedModelLocalService { 040 /* 041 * NOTE FOR DEVELOPERS: 042 * 043 * 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. 044 */ 045 046 /** 047 * Adds the subscription to the database. Also notifies the appropriate model listeners. 048 * 049 * @param subscription the subscription 050 * @return the subscription that was added 051 * @throws SystemException if a system exception occurred 052 */ 053 public com.liferay.portal.model.Subscription addSubscription( 054 com.liferay.portal.model.Subscription subscription) 055 throws com.liferay.portal.kernel.exception.SystemException; 056 057 /** 058 * Creates a new subscription with the primary key. Does not add the subscription to the database. 059 * 060 * @param subscriptionId the primary key for the new subscription 061 * @return the new subscription 062 */ 063 public com.liferay.portal.model.Subscription createSubscription( 064 long subscriptionId); 065 066 /** 067 * Deletes the subscription with the primary key from the database. Also notifies the appropriate model listeners. 068 * 069 * @param subscriptionId the primary key of the subscription 070 * @return the subscription that was removed 071 * @throws PortalException if a subscription with the primary key could not be found 072 * @throws SystemException if a system exception occurred 073 */ 074 public com.liferay.portal.model.Subscription deleteSubscription( 075 long subscriptionId) 076 throws com.liferay.portal.kernel.exception.PortalException, 077 com.liferay.portal.kernel.exception.SystemException; 078 079 /** 080 * Deletes the subscription from the database. Also notifies the appropriate model listeners. 081 * 082 * @param subscription the subscription 083 * @return the subscription that was removed 084 * @throws PortalException 085 * @throws SystemException if a system exception occurred 086 */ 087 public com.liferay.portal.model.Subscription deleteSubscription( 088 com.liferay.portal.model.Subscription subscription) 089 throws com.liferay.portal.kernel.exception.PortalException, 090 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.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. 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.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. 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.portal.model.Subscription fetchSubscription( 158 long subscriptionId) 159 throws com.liferay.portal.kernel.exception.SystemException; 160 161 /** 162 * Returns the subscription with the primary key. 163 * 164 * @param subscriptionId the primary key of the subscription 165 * @return the subscription 166 * @throws PortalException if a subscription with the primary key could not be found 167 * @throws SystemException if a system exception occurred 168 */ 169 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 170 public com.liferay.portal.model.Subscription getSubscription( 171 long subscriptionId) 172 throws com.liferay.portal.kernel.exception.PortalException, 173 com.liferay.portal.kernel.exception.SystemException; 174 175 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 176 public com.liferay.portal.model.PersistedModel getPersistedModel( 177 java.io.Serializable primaryKeyObj) 178 throws com.liferay.portal.kernel.exception.PortalException, 179 com.liferay.portal.kernel.exception.SystemException; 180 181 /** 182 * Returns a range of all the subscriptions. 183 * 184 * <p> 185 * 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. 186 * </p> 187 * 188 * @param start the lower bound of the range of subscriptions 189 * @param end the upper bound of the range of subscriptions (not inclusive) 190 * @return the range of subscriptions 191 * @throws SystemException if a system exception occurred 192 */ 193 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 194 public java.util.List<com.liferay.portal.model.Subscription> getSubscriptions( 195 int start, int end) 196 throws com.liferay.portal.kernel.exception.SystemException; 197 198 /** 199 * Returns the number of subscriptions. 200 * 201 * @return the number of subscriptions 202 * @throws SystemException if a system exception occurred 203 */ 204 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 205 public int getSubscriptionsCount() 206 throws com.liferay.portal.kernel.exception.SystemException; 207 208 /** 209 * Updates the subscription in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 210 * 211 * @param subscription the subscription 212 * @return the subscription that was updated 213 * @throws SystemException if a system exception occurred 214 */ 215 public com.liferay.portal.model.Subscription updateSubscription( 216 com.liferay.portal.model.Subscription subscription) 217 throws com.liferay.portal.kernel.exception.SystemException; 218 219 /** 220 * Returns the Spring bean ID for this bean. 221 * 222 * @return the Spring bean ID for this bean 223 */ 224 public java.lang.String getBeanIdentifier(); 225 226 /** 227 * Sets the Spring bean ID for this bean. 228 * 229 * @param beanIdentifier the Spring bean ID for this bean 230 */ 231 public void setBeanIdentifier(java.lang.String beanIdentifier); 232 233 /** 234 * Subscribes the user to the entity, notifying him the instant the entity 235 * is created, deleted, or modified. 236 * 237 * <p> 238 * If there is no asset entry with the class name and class PK a new asset 239 * entry is created. 240 * </p> 241 * 242 * <p> 243 * A social activity for the subscription is created using the asset entry 244 * associated with the class name and class PK, or the newly created asset 245 * entry. 246 * </p> 247 * 248 * @param userId the primary key of the user 249 * @param groupId the primary key of the entity's group 250 * @param className the entity's class name 251 * @param classPK the primary key of the entity's instance 252 * @return the subscription 253 * @throws PortalException if a matching user or group could not be found 254 * @throws SystemException if a system exception occurred 255 */ 256 public com.liferay.portal.model.Subscription addSubscription(long userId, 257 long groupId, java.lang.String className, long classPK) 258 throws com.liferay.portal.kernel.exception.PortalException, 259 com.liferay.portal.kernel.exception.SystemException; 260 261 /** 262 * Subscribes the user to the entity, notifying him at the given frequency. 263 * 264 * <p> 265 * If there is no asset entry with the class name and class PK a new asset 266 * entry is created. 267 * </p> 268 * 269 * <p> 270 * A social activity for the subscription is created using the asset entry 271 * associated with the class name and class PK, or the newly created asset 272 * entry. 273 * </p> 274 * 275 * @param userId the primary key of the user 276 * @param groupId the primary key of the entity's group 277 * @param className the entity's class name 278 * @param classPK the primary key of the entity's instance 279 * @param frequency the frequency for notifications 280 * @return the subscription 281 * @throws PortalException if a matching user or group could not be found 282 * @throws SystemException if a system exception occurred 283 */ 284 public com.liferay.portal.model.Subscription addSubscription(long userId, 285 long groupId, java.lang.String className, long classPK, 286 java.lang.String frequency) 287 throws com.liferay.portal.kernel.exception.PortalException, 288 com.liferay.portal.kernel.exception.SystemException; 289 290 /** 291 * Deletes the user's subscription to the entity. A social activity with the 292 * unsubscribe action is created. 293 * 294 * @param userId the primary key of the user 295 * @param className the entity's class name 296 * @param classPK the primary key of the entity's instance 297 * @throws PortalException if a matching user or subscription could not be 298 found 299 * @throws SystemException if a system exception occurred 300 */ 301 public void deleteSubscription(long userId, java.lang.String className, 302 long classPK) 303 throws com.liferay.portal.kernel.exception.PortalException, 304 com.liferay.portal.kernel.exception.SystemException; 305 306 /** 307 * Deletes all the subscriptions of the user. 308 * 309 * @param userId the primary key of the user 310 * @throws PortalException if a portal exception occurred 311 * @throws SystemException if a system exception occurred 312 */ 313 public void deleteSubscriptions(long userId) 314 throws com.liferay.portal.kernel.exception.PortalException, 315 com.liferay.portal.kernel.exception.SystemException; 316 317 /** 318 * Deletes all the subscriptions to the entity. 319 * 320 * @param companyId the primary key of the company 321 * @param className the entity's class name 322 * @param classPK the primary key of the entity's instance 323 * @throws PortalException if a portal exception occurred 324 * @throws SystemException if a system exception occurred 325 */ 326 public void deleteSubscriptions(long companyId, java.lang.String className, 327 long classPK) 328 throws com.liferay.portal.kernel.exception.PortalException, 329 com.liferay.portal.kernel.exception.SystemException; 330 331 /** 332 * Returns the subscription of the user to the entity. 333 * 334 * @param companyId the primary key of the company 335 * @param userId the primary key of the user 336 * @param className the entity's class name 337 * @param classPK the primary key of the entity's instance 338 * @return the subscription of the user to the entity 339 * @throws PortalException if a matching subscription could not be found 340 * @throws SystemException if a system exception occurred 341 */ 342 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 343 public com.liferay.portal.model.Subscription getSubscription( 344 long companyId, long userId, java.lang.String className, long classPK) 345 throws com.liferay.portal.kernel.exception.PortalException, 346 com.liferay.portal.kernel.exception.SystemException; 347 348 /** 349 * Returns all the subscriptions of the user to the entities. 350 * 351 * @param companyId the primary key of the company 352 * @param userId the primary key of the user 353 * @param className the entity's class name 354 * @param classPKs the primary key of the entities 355 * @return the subscriptions of the user to the entities 356 * @throws SystemException if a system exception occurred 357 */ 358 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 359 public java.util.List<com.liferay.portal.model.Subscription> getSubscriptions( 360 long companyId, long userId, java.lang.String className, long[] classPKs) 361 throws com.liferay.portal.kernel.exception.SystemException; 362 363 /** 364 * Returns all the subscriptions to the entity. 365 * 366 * @param companyId the primary key of the company 367 * @param className the entity's class name 368 * @param classPK the primary key of the entity's instance 369 * @return the subscriptions to the entity 370 * @throws SystemException if a system exception occurred 371 */ 372 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 373 public java.util.List<com.liferay.portal.model.Subscription> getSubscriptions( 374 long companyId, java.lang.String className, long classPK) 375 throws com.liferay.portal.kernel.exception.SystemException; 376 377 /** 378 * Returns an ordered range of all the subscriptions of the user. 379 * 380 * @param userId the primary key of the user 381 * @param start the lower bound of the range of results 382 * @param end the upper bound of the range of results (not inclusive) 383 * @return the range of subscriptions of the user 384 * @throws SystemException if a system exception occurred 385 */ 386 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 387 public java.util.List<com.liferay.portal.model.Subscription> getUserSubscriptions( 388 long userId, int start, int end, 389 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 390 throws com.liferay.portal.kernel.exception.SystemException; 391 392 /** 393 * Returns all the subscriptions of the user to the entities with the class 394 * name. 395 * 396 * @param userId the primary key of the user 397 * @param className the entity's class name 398 * @return the subscriptions of the user to the entities with the class name 399 * @throws SystemException if a system exception occurred 400 */ 401 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 402 public java.util.List<com.liferay.portal.model.Subscription> getUserSubscriptions( 403 long userId, java.lang.String className) 404 throws com.liferay.portal.kernel.exception.SystemException; 405 406 /** 407 * Returns the number of subscriptions of the user. 408 * 409 * @param userId the primary key of the user 410 * @return the number of subscriptions of the user 411 * @throws SystemException if a system exception occurred 412 */ 413 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 414 public int getUserSubscriptionsCount(long userId) 415 throws com.liferay.portal.kernel.exception.SystemException; 416 417 /** 418 * Returns <code>true</code> if the user is subscribed to the entity. 419 * 420 * @param companyId the primary key of the company 421 * @param userId the primary key of the user 422 * @param className the entity's class name 423 * @param classPK the primary key of the entity's instance 424 * @return <code>true</code> if the user is subscribed to the entity; 425 <code>false</code> otherwise 426 * @throws SystemException if a system exception occurred 427 */ 428 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 429 public boolean isSubscribed(long companyId, long userId, 430 java.lang.String className, long classPK) 431 throws com.liferay.portal.kernel.exception.SystemException; 432 433 /** 434 * Returns <code>true</code> if the user is subscribed to any of the 435 * entities. 436 * 437 * @param companyId the primary key of the company 438 * @param userId the primary key of the user 439 * @param className the entity's class name 440 * @param classPKs the primary key of the entities 441 * @return <code>true</code> if the user is subscribed to any of the 442 entities; <code>false</code> otherwise 443 * @throws SystemException if a system exception occurred 444 */ 445 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 446 public boolean isSubscribed(long companyId, long userId, 447 java.lang.String className, long[] classPKs) 448 throws com.liferay.portal.kernel.exception.SystemException; 449 }