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.social.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 social activity counter 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 SocialActivityCounterLocalServiceUtil 034 * @see com.liferay.portlet.social.service.base.SocialActivityCounterLocalServiceBaseImpl 035 * @see com.liferay.portlet.social.service.impl.SocialActivityCounterLocalServiceImpl 036 * @generated 037 */ 038 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 039 PortalException.class, SystemException.class}) 040 public interface SocialActivityCounterLocalService extends BaseLocalService, 041 PersistedModelLocalService { 042 /* 043 * NOTE FOR DEVELOPERS: 044 * 045 * Never modify or reference this interface directly. Always use {@link SocialActivityCounterLocalServiceUtil} to access the social activity counter local service. Add custom service methods to {@link com.liferay.portlet.social.service.impl.SocialActivityCounterLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 046 */ 047 048 /** 049 * Adds the social activity counter to the database. Also notifies the appropriate model listeners. 050 * 051 * @param socialActivityCounter the social activity counter 052 * @return the social activity counter that was added 053 * @throws SystemException if a system exception occurred 054 */ 055 public com.liferay.portlet.social.model.SocialActivityCounter addSocialActivityCounter( 056 com.liferay.portlet.social.model.SocialActivityCounter socialActivityCounter) 057 throws com.liferay.portal.kernel.exception.SystemException; 058 059 /** 060 * Creates a new social activity counter with the primary key. Does not add the social activity counter to the database. 061 * 062 * @param activityCounterId the primary key for the new social activity counter 063 * @return the new social activity counter 064 */ 065 public com.liferay.portlet.social.model.SocialActivityCounter createSocialActivityCounter( 066 long activityCounterId); 067 068 /** 069 * Deletes the social activity counter with the primary key from the database. Also notifies the appropriate model listeners. 070 * 071 * @param activityCounterId the primary key of the social activity counter 072 * @return the social activity counter that was removed 073 * @throws PortalException if a social activity counter with the primary key could not be found 074 * @throws SystemException if a system exception occurred 075 */ 076 public com.liferay.portlet.social.model.SocialActivityCounter deleteSocialActivityCounter( 077 long activityCounterId) 078 throws com.liferay.portal.kernel.exception.PortalException, 079 com.liferay.portal.kernel.exception.SystemException; 080 081 /** 082 * Deletes the social activity counter from the database. Also notifies the appropriate model listeners. 083 * 084 * @param socialActivityCounter the social activity counter 085 * @return the social activity counter that was removed 086 * @throws SystemException if a system exception occurred 087 */ 088 public com.liferay.portlet.social.model.SocialActivityCounter deleteSocialActivityCounter( 089 com.liferay.portlet.social.model.SocialActivityCounter socialActivityCounter) 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. 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.portlet.social.model.impl.SocialActivityCounterModelImpl}. 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.portlet.social.model.impl.SocialActivityCounterModelImpl}. 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.portlet.social.model.SocialActivityCounter fetchSocialActivityCounter( 158 long activityCounterId) 159 throws com.liferay.portal.kernel.exception.SystemException; 160 161 /** 162 * Returns the social activity counter with the primary key. 163 * 164 * @param activityCounterId the primary key of the social activity counter 165 * @return the social activity counter 166 * @throws PortalException if a social activity counter 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.portlet.social.model.SocialActivityCounter getSocialActivityCounter( 171 long activityCounterId) 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 social activity counters. 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.portlet.social.model.impl.SocialActivityCounterModelImpl}. 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 social activity counters 189 * @param end the upper bound of the range of social activity counters (not inclusive) 190 * @return the range of social activity counters 191 * @throws SystemException if a system exception occurred 192 */ 193 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 194 public java.util.List<com.liferay.portlet.social.model.SocialActivityCounter> getSocialActivityCounters( 195 int start, int end) 196 throws com.liferay.portal.kernel.exception.SystemException; 197 198 /** 199 * Returns the number of social activity counters. 200 * 201 * @return the number of social activity counters 202 * @throws SystemException if a system exception occurred 203 */ 204 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 205 public int getSocialActivityCountersCount() 206 throws com.liferay.portal.kernel.exception.SystemException; 207 208 /** 209 * Updates the social activity counter in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 210 * 211 * @param socialActivityCounter the social activity counter 212 * @return the social activity counter that was updated 213 * @throws SystemException if a system exception occurred 214 */ 215 public com.liferay.portlet.social.model.SocialActivityCounter updateSocialActivityCounter( 216 com.liferay.portlet.social.model.SocialActivityCounter socialActivityCounter) 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 * Adds an activity counter with a default period length. 235 * 236 * <p> 237 * This method uses the lock service to guard against multiple threads 238 * trying to insert the same counter because this service is called 239 * asynchronously from the social activity service. 240 * </p> 241 * 242 * @param groupId the primary key of the group 243 * @param classNameId the primary key of the entity's class this counter 244 belongs to 245 * @param classPK the primary key of the entity this counter belongs to 246 * @param name the counter's name 247 * @param ownerType the counter's owner type. Acceptable values are 248 <code>TYPE_ACTOR</code>, <code>TYPE_ASSET</code> and 249 <code>TYPE_CREATOR</code> defined in {@link 250 com.liferay.portlet.social.model.SocialActivityCounterConstants}. 251 * @param currentValue the counter's current value (optionally 252 <code>0</code>) 253 * @param totalValue the counter's total value (optionally <code>0</code>) 254 * @param startPeriod the counter's start period 255 * @param endPeriod the counter's end period 256 * @return the added activity counter 257 * @throws PortalException if the group or the previous activity counter 258 could not be found 259 * @throws SystemException if a system exception occurred 260 */ 261 public com.liferay.portlet.social.model.SocialActivityCounter addActivityCounter( 262 long groupId, long classNameId, long classPK, java.lang.String name, 263 int ownerType, int currentValue, int totalValue, int startPeriod, 264 int endPeriod) 265 throws com.liferay.portal.kernel.exception.PortalException, 266 com.liferay.portal.kernel.exception.SystemException; 267 268 /** 269 * Adds an activity counter specifying a previous activity and period 270 * length. 271 * 272 * <p> 273 * This method uses the lock service to guard against multiple threads 274 * trying to insert the same counter because this service is called 275 * asynchronously from the social activity service. 276 * </p> 277 * 278 * @param groupId the primary key of the group 279 * @param classNameId the primary key of the entity's class this counter 280 belongs to 281 * @param classPK the primary key of the entity this counter belongs to 282 * @param name the counter name 283 * @param ownerType the counter's owner type. Acceptable values are 284 <code>TYPE_ACTOR</code>, <code>TYPE_ASSET</code> and 285 <code>TYPE_CREATOR</code> defined in {@link 286 com.liferay.portlet.social.model.SocialActivityCounterConstants}. 287 * @param currentValue the current value of the counter (optionally 288 <code>0</code>) 289 * @param totalValue the counter's total value (optionally <code>0</code>) 290 * @param startPeriod the counter's start period 291 * @param endPeriod the counter's end period 292 * @param previousActivityCounterId the primary key of the activity counter 293 for the previous time period (optionally <code>0</code>, if this 294 is the first) 295 * @param periodLength the period length in days, 296 <code>PERIOD_LENGTH_INFINITE</code> for never ending counters or 297 <code>PERIOD_LENGTH_SYSTEM</code> for the period length defined 298 in <code>portal-ext.properties</code>. For more information see 299 {@link 300 com.liferay.portlet.social.model.SocialActivityCounterConstants}. 301 * @return the added activity counter 302 * @throws PortalException if the group or the previous activity counter 303 could not be found 304 * @throws SystemException if a system exception occurred 305 */ 306 public com.liferay.portlet.social.model.SocialActivityCounter addActivityCounter( 307 long groupId, long classNameId, long classPK, java.lang.String name, 308 int ownerType, int currentValue, int totalValue, int startPeriod, 309 int endPeriod, long previousActivityCounterId, int periodLength) 310 throws com.liferay.portal.kernel.exception.PortalException, 311 com.liferay.portal.kernel.exception.SystemException; 312 313 /** 314 * Adds or increments activity counters related to an activity. 315 * 316 * </p> 317 * This method is called asynchronously from the social activity service 318 * when the user performs an activity defined in 319 * </code>liferay-social.xml</code>. 320 * </p> 321 * 322 * <p> 323 * This method first calls the activity processor class, if there is one 324 * defined for the activity, checks for limits and increments all the 325 * counters that belong to the activity. Afterwards, it processes the 326 * activity with respect to achievement classes, if any. Lastly it 327 * increments the built-in <code>user.activities</code> and 328 * <code>asset.activities</code> counters. 329 * </p> 330 * 331 * @param activity the social activity 332 * @throws PortalException if an expected group or expected previous 333 activity counters could not be found 334 * @throws SystemException if a system exception occurred 335 */ 336 public void addActivityCounters( 337 com.liferay.portlet.social.model.SocialActivity activity) 338 throws com.liferay.portal.kernel.exception.PortalException, 339 com.liferay.portal.kernel.exception.SystemException; 340 341 /** 342 * Creates an activity counter with a default period length, adding it into 343 * the database. 344 * 345 * @param groupId the primary key of the group 346 * @param classNameId the primary key of the entity's class this 347 counter belongs to 348 * @param classPK the primary key of the entity this counter belongs to 349 * @param name the counter's name 350 * @param ownerType the counter's owner type. Acceptable values are 351 <code>TYPE_ACTOR</code>, <code>TYPE_ASSET</code> and 352 <code>TYPE_CREATOR</code> defined in {@link 353 com.liferay.portlet.social.model.SocialActivityCounterConstants}. 354 * @param currentValue the counter's current value (optionally 355 <code>0</code>) 356 * @param totalValue the counter's total value (optionally 357 <code>0</code>) 358 * @param startPeriod the counter's start period 359 * @param endPeriod the counter's end period 360 * @return the created activity counter 361 * @throws PortalException if the group or a previous activity counter 362 could not be found 363 * @throws SystemException if a system exception occurred 364 * @deprecated As of 6.2.0, replaced by {@link #createActivityCounter(long, 365 long, long, String, int, int, int, int, int, long, int)} 366 */ 367 public com.liferay.portlet.social.model.SocialActivityCounter createActivityCounter( 368 long groupId, long classNameId, long classPK, java.lang.String name, 369 int ownerType, int currentValue, int totalValue, int startPeriod, 370 int endPeriod) 371 throws com.liferay.portal.kernel.exception.PortalException, 372 com.liferay.portal.kernel.exception.SystemException; 373 374 /** 375 * Creates an activity counter, adding it into the database. 376 * 377 * <p> 378 * This method actually creates the counter in the database. It requires a 379 * new transaction so that other threads can find the new counter when the 380 * lock in the calling method is released. 381 * </p> 382 * 383 * @param groupId the primary key of the group 384 * @param classNameId the primary key of the entity's class this counter 385 belongs to 386 * @param classPK the primary key of the entity this counter belongs to 387 * @param name the counter's name 388 * @param ownerType the counter's owner type. Acceptable values are 389 <code>TYPE_ACTOR</code>, <code>TYPE_ASSET</code> and 390 <code>TYPE_CREATOR</code> defined in {@link 391 com.liferay.portlet.social.model.SocialActivityCounterConstants}. 392 * @param currentValue the counter's current value (optionally 393 <code>0</code>) 394 * @param totalValue the counter's total value of the counter (optionally 395 <code>0</code>) 396 * @param startPeriod the counter's start period 397 * @param endPeriod the counter's end period 398 * @param previousActivityCounterId the primary key of the activity counter 399 for the previous time period (optionally <code>0</code>, if this 400 is the first) 401 * @param periodLength the period length in days, 402 <code>PERIOD_LENGTH_INFINITE</code> for never ending counters or 403 <code>PERIOD_LENGTH_SYSTEM</code> for the period length defined 404 in <code>portal-ext.properties</code>. For more information see 405 {@link com.liferay.portlet.social.model.SocialActivityConstants}. 406 * @return the created activity counter 407 * @throws PortalException if the group or the previous activity counter 408 could not be found 409 * @throws SystemException if a system exception occurred 410 */ 411 public com.liferay.portlet.social.model.SocialActivityCounter createActivityCounter( 412 long groupId, long classNameId, long classPK, java.lang.String name, 413 int ownerType, int currentValue, int totalValue, int startPeriod, 414 int endPeriod, long previousActivityCounterId, int periodLength) 415 throws com.liferay.portal.kernel.exception.PortalException, 416 com.liferay.portal.kernel.exception.SystemException; 417 418 /** 419 * Deletes all activity counters, limits, and settings related to the asset. 420 * 421 * <p> 422 * This method subtracts the asset's popularity from the owner's 423 * contribution points. It also creates a new contribution period if the 424 * latest one does not belong to the current period. 425 * </p> 426 * 427 * @param assetEntry the asset entry 428 * @throws PortalException if the new contribution counter could not be 429 created 430 * @throws SystemException if a system exception occurred 431 */ 432 public void deleteActivityCounters( 433 com.liferay.portlet.asset.model.AssetEntry assetEntry) 434 throws com.liferay.portal.kernel.exception.PortalException, 435 com.liferay.portal.kernel.exception.SystemException; 436 437 /** 438 * Deletes all activity counters, limits, and settings related to the entity 439 * identified by the class name ID and class primary key. 440 * 441 * @param classNameId the primary key of the entity's class 442 * @param classPK the primary key of the entity 443 * @throws PortalException if the entity is an asset and its owner's 444 contribution counter could not be updated 445 * @throws SystemException if a system exception occurred 446 */ 447 public void deleteActivityCounters(long classNameId, long classPK) 448 throws com.liferay.portal.kernel.exception.PortalException, 449 com.liferay.portal.kernel.exception.SystemException; 450 451 /** 452 * Deletes all activity counters for the entity identified by the class name 453 * and class primary key. 454 * 455 * @param className the entity's class name 456 * @param classPK the primary key of the entity 457 * @throws PortalException if the entity is an asset and its owner's 458 contribution counter could not be updated 459 * @throws SystemException if a system exception occurred 460 */ 461 public void deleteActivityCounters(java.lang.String className, long classPK) 462 throws com.liferay.portal.kernel.exception.PortalException, 463 com.liferay.portal.kernel.exception.SystemException; 464 465 /** 466 * Disables all the counters of an asset identified by the class name ID and 467 * class primary key. 468 * 469 * <p> 470 * This method is used by the recycle bin to disable all counters of assets 471 * put into the recycle bin. It adjusts the owner's contribution score. 472 * </p> 473 * 474 * @param classNameId the primary key of the asset's class 475 * @param classPK the primary key of the asset 476 * @throws PortalException if the asset owner's contribution counter could 477 not be updated 478 * @throws SystemException if a system exception occurred 479 */ 480 public void disableActivityCounters(long classNameId, long classPK) 481 throws com.liferay.portal.kernel.exception.PortalException, 482 com.liferay.portal.kernel.exception.SystemException; 483 484 /** 485 * Disables all the counters of an asset identified by the class name and 486 * class primary key. 487 * 488 * <p> 489 * This method is used by the recycle bin to disable all counters of assets 490 * put into the recycle bin. It adjusts the owner's contribution score. 491 * </p> 492 * 493 * @param className the asset's class name 494 * @param classPK the primary key of the asset 495 * @throws PortalException if the asset owner's contribution counter could 496 not be updated 497 * @throws SystemException if a system exception occurred 498 */ 499 public void disableActivityCounters(java.lang.String className, long classPK) 500 throws com.liferay.portal.kernel.exception.PortalException, 501 com.liferay.portal.kernel.exception.SystemException; 502 503 /** 504 * Enables all activity counters of an asset identified by the class name ID 505 * and class primary key. 506 * 507 * <p> 508 * This method is used by the recycle bin to enable all counters of assets 509 * restored from the recycle bin. It adjusts the owner's contribution score. 510 * </p> 511 * 512 * @param classNameId the primary key of the asset's class 513 * @param classPK the primary key of the asset 514 * @throws PortalException if the asset owner's contribution counter could 515 not be updated 516 * @throws SystemException if a system exception occurred 517 */ 518 public void enableActivityCounters(long classNameId, long classPK) 519 throws com.liferay.portal.kernel.exception.PortalException, 520 com.liferay.portal.kernel.exception.SystemException; 521 522 /** 523 * Enables all the counters of an asset identified by the class name and 524 * class primary key. 525 * 526 * <p> 527 * This method is used by the recycle bin to enable all counters of assets 528 * restored from the recycle bin. It adjusts the owner's contribution score. 529 * </p> 530 * 531 * @param className the asset's class name 532 * @param classPK the primary key of the asset 533 * @throws PortalException if the asset owner's contribution counter could 534 not be updated 535 * @throws SystemException if a system exception occurred 536 */ 537 public void enableActivityCounters(java.lang.String className, long classPK) 538 throws com.liferay.portal.kernel.exception.PortalException, 539 com.liferay.portal.kernel.exception.SystemException; 540 541 /** 542 * Returns the activity counter with the given name, owner, and end period 543 * that belong to the given entity. 544 * 545 * @param groupId the primary key of the group 546 * @param classNameId the primary key of the entity's class 547 * @param classPK the primary key of the entity 548 * @param name the counter name 549 * @param ownerType the owner type 550 * @param endPeriod the end period, <code>-1</code> for the latest one 551 * @return the matching activity counter 552 * @throws SystemException if a system exception occurred 553 */ 554 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 555 public com.liferay.portlet.social.model.SocialActivityCounter fetchActivityCounterByEndPeriod( 556 long groupId, long classNameId, long classPK, java.lang.String name, 557 int ownerType, int endPeriod) 558 throws com.liferay.portal.kernel.exception.SystemException; 559 560 /** 561 * Returns the activity counter with the given name, owner, and start period 562 * that belong to the given entity. 563 * 564 * @param groupId the primary key of the group 565 * @param classNameId the primary key of the entity's class 566 * @param classPK the primary key of the entity 567 * @param name the counter name 568 * @param ownerType the owner type 569 * @param startPeriod the start period 570 * @return the matching activity counter 571 * @throws SystemException if a system exception occurred 572 */ 573 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 574 public com.liferay.portlet.social.model.SocialActivityCounter fetchActivityCounterByStartPeriod( 575 long groupId, long classNameId, long classPK, java.lang.String name, 576 int ownerType, int startPeriod) 577 throws com.liferay.portal.kernel.exception.SystemException; 578 579 /** 580 * Returns the latest activity counter with the given name and owner that 581 * belong to the given entity. 582 * 583 * @param groupId the primary key of the group 584 * @param classNameId the primary key of the entity's class 585 * @param classPK the primary key of the entity 586 * @param name the counter name 587 * @param ownerType the owner type 588 * @return the matching activity counter 589 * @throws SystemException if a system exception occurred 590 */ 591 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 592 public com.liferay.portlet.social.model.SocialActivityCounter fetchLatestActivityCounter( 593 long groupId, long classNameId, long classPK, java.lang.String name, 594 int ownerType) 595 throws com.liferay.portal.kernel.exception.SystemException; 596 597 /** 598 * Returns all the activity counters with the given name and period offsets. 599 * 600 * <p> 601 * The start and end offsets can belong to different periods. This method 602 * groups the counters by name and returns the sum of their current values. 603 * </p> 604 * 605 * @param groupId the primary key of the group 606 * @param name the counter name 607 * @param startOffset the offset for the start period 608 * @param endOffset the offset for the end period 609 * @return the matching activity counters 610 * @throws SystemException if a system exception occurred 611 */ 612 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 613 public java.util.List<com.liferay.portlet.social.model.SocialActivityCounter> getOffsetActivityCounters( 614 long groupId, java.lang.String name, int startOffset, int endOffset) 615 throws com.liferay.portal.kernel.exception.SystemException; 616 617 /** 618 * Returns the distribution of the activity counters with the given name and 619 * period offsets. 620 * 621 * <p> 622 * The start and end offsets can belong to different periods. This method 623 * groups the counters by their owner entity (usually some asset) and 624 * returns a counter for each entity class with the sum of the counters' 625 * current values. 626 * </p> 627 * 628 * @param groupId the primary key of the group 629 * @param name the counter name 630 * @param startOffset the offset for the start period 631 * @param endOffset the offset for the end period 632 * @return the distribution of matching activity counters 633 * @throws SystemException if a system exception occurred 634 */ 635 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 636 public java.util.List<com.liferay.portlet.social.model.SocialActivityCounter> getOffsetDistributionActivityCounters( 637 long groupId, java.lang.String name, int startOffset, int endOffset) 638 throws com.liferay.portal.kernel.exception.SystemException; 639 640 /** 641 * Returns all the activity counters with the given name and time period. 642 * 643 * <p> 644 * The start and end period values can belong to different periods. This 645 * method groups the counters by name and returns the sum of their current 646 * values. 647 * </p> 648 * 649 * @param groupId the primary key of the group 650 * @param name the counter name 651 * @param startPeriod the start period 652 * @param endPeriod the end period 653 * @return the matching activity counters 654 * @throws SystemException if a system exception occurred 655 */ 656 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 657 public java.util.List<com.liferay.portlet.social.model.SocialActivityCounter> getPeriodActivityCounters( 658 long groupId, java.lang.String name, int startPeriod, int endPeriod) 659 throws com.liferay.portal.kernel.exception.SystemException; 660 661 /** 662 * Returns the distribution of activity counters with the given name and 663 * time period. 664 * 665 * <p> 666 * The start and end period values can belong to different periods. This 667 * method groups the counters by their owner entity (usually some asset) and 668 * returns a counter for each entity class with the sum of the counters' 669 * current values. 670 * </p> 671 * 672 * @param groupId the primary key of the group 673 * @param name the counter name 674 * @param startPeriod the start period 675 * @param endPeriod the end period 676 * @return the distribution of matching activity counters 677 * @throws SystemException if a system exception occurred 678 */ 679 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 680 public java.util.List<com.liferay.portlet.social.model.SocialActivityCounter> getPeriodDistributionActivityCounters( 681 long groupId, java.lang.String name, int startPeriod, int endPeriod) 682 throws com.liferay.portal.kernel.exception.SystemException; 683 684 /** 685 * Returns the range of tuples that contain users and a list of activity 686 * counters. 687 * 688 * <p> 689 * The counters returned for each user are passed to this method in the 690 * selectedNames array. The method also accepts an array of counter names 691 * that are used to rank the users. 692 * </p> 693 * 694 * <p> 695 * Useful when paginating results. Returns a maximum of <code>end - 696 * start</code> instances. <code>start</code> and <code>end</code> are not 697 * primary keys, they are indexes in the result set. Thus, <code>0</code> 698 * refers to the first result in the set. Setting both <code>start</code> 699 * and <code>end</code> to {@link 700 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 701 * result set. 702 * </p> 703 * 704 * @param groupId the primary key of the group 705 * @param rankingNames the ranking counter names 706 * @param selectedNames the counter names that will be returned with each 707 user 708 * @param start the lower bound of the range of results 709 * @param end the upper bound of the range of results (not inclusive) 710 * @return the range of matching tuples 711 * @throws SystemException if a system exception occurred 712 */ 713 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 714 public java.util.List<com.liferay.portal.kernel.util.Tuple> getUserActivityCounters( 715 long groupId, java.lang.String[] rankingNames, 716 java.lang.String[] selectedNames, int start, int end) 717 throws com.liferay.portal.kernel.exception.SystemException; 718 719 /** 720 * Returns the number of users having a rank based on the given counters. 721 * 722 * @param groupId the primary key of the group 723 * @param rankingNames the ranking counter names 724 * @return the number of matching users 725 * @throws SystemException if a system exception occurred 726 */ 727 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 728 public int getUserActivityCountersCount(long groupId, 729 java.lang.String[] rankingNames) 730 throws com.liferay.portal.kernel.exception.SystemException; 731 732 /** 733 * Increments the <code>user.achievements</code> counter for a user. 734 * 735 * <p> 736 * This method should be used by an external achievement class when the 737 * users unlocks an achievement. 738 * </p> 739 * 740 * @param userId the primary key of the user 741 * @param groupId the primary key of the group 742 * @throws PortalException if the group or an expected previous activity 743 counter could not be found 744 * @throws SystemException if a system exception occurred 745 */ 746 public void incrementUserAchievementCounter(long userId, long groupId) 747 throws com.liferay.portal.kernel.exception.PortalException, 748 com.liferay.portal.kernel.exception.SystemException; 749 }