001 /** 002 * Copyright (c) 2000-2012 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 user group 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 UserGroupLocalServiceUtil 032 * @see com.liferay.portal.service.base.UserGroupLocalServiceBaseImpl 033 * @see com.liferay.portal.service.impl.UserGroupLocalServiceImpl 034 * @generated 035 */ 036 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 037 PortalException.class, SystemException.class}) 038 public interface UserGroupLocalService extends PersistedModelLocalService { 039 /* 040 * NOTE FOR DEVELOPERS: 041 * 042 * Never modify or reference this interface directly. Always use {@link UserGroupLocalServiceUtil} to access the user group local service. Add custom service methods to {@link com.liferay.portal.service.impl.UserGroupLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 043 */ 044 045 /** 046 * Adds the user group to the database. Also notifies the appropriate model listeners. 047 * 048 * @param userGroup the user group 049 * @return the user group that was added 050 * @throws SystemException if a system exception occurred 051 */ 052 public com.liferay.portal.model.UserGroup addUserGroup( 053 com.liferay.portal.model.UserGroup userGroup) 054 throws com.liferay.portal.kernel.exception.SystemException; 055 056 /** 057 * Creates a new user group with the primary key. Does not add the user group to the database. 058 * 059 * @param userGroupId the primary key for the new user group 060 * @return the new user group 061 */ 062 public com.liferay.portal.model.UserGroup createUserGroup(long userGroupId); 063 064 /** 065 * Deletes the user group with the primary key from the database. Also notifies the appropriate model listeners. 066 * 067 * @param userGroupId the primary key of the user group 068 * @throws PortalException if a user group with the primary key could not be found 069 * @throws SystemException if a system exception occurred 070 */ 071 public void deleteUserGroup(long userGroupId) 072 throws com.liferay.portal.kernel.exception.PortalException, 073 com.liferay.portal.kernel.exception.SystemException; 074 075 /** 076 * Deletes the user group from the database. Also notifies the appropriate model listeners. 077 * 078 * @param userGroup the user group 079 * @throws PortalException 080 * @throws SystemException if a system exception occurred 081 */ 082 public void deleteUserGroup(com.liferay.portal.model.UserGroup userGroup) 083 throws com.liferay.portal.kernel.exception.PortalException, 084 com.liferay.portal.kernel.exception.SystemException; 085 086 /** 087 * Performs a dynamic query on the database and returns the matching rows. 088 * 089 * @param dynamicQuery the dynamic query 090 * @return the matching rows 091 * @throws SystemException if a system exception occurred 092 */ 093 @SuppressWarnings("rawtypes") 094 public java.util.List dynamicQuery( 095 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 096 throws com.liferay.portal.kernel.exception.SystemException; 097 098 /** 099 * Performs a dynamic query on the database and returns a range of the matching rows. 100 * 101 * <p> 102 * 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. 103 * </p> 104 * 105 * @param dynamicQuery the dynamic query 106 * @param start the lower bound of the range of model instances 107 * @param end the upper bound of the range of model instances (not inclusive) 108 * @return the range of matching rows 109 * @throws SystemException if a system exception occurred 110 */ 111 @SuppressWarnings("rawtypes") 112 public java.util.List dynamicQuery( 113 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 114 int end) throws com.liferay.portal.kernel.exception.SystemException; 115 116 /** 117 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 118 * 119 * <p> 120 * 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. 121 * </p> 122 * 123 * @param dynamicQuery the dynamic query 124 * @param start the lower bound of the range of model instances 125 * @param end the upper bound of the range of model instances (not inclusive) 126 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 127 * @return the ordered range of matching rows 128 * @throws SystemException if a system exception occurred 129 */ 130 @SuppressWarnings("rawtypes") 131 public java.util.List dynamicQuery( 132 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 133 int end, 134 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 135 throws com.liferay.portal.kernel.exception.SystemException; 136 137 /** 138 * Returns the number of rows that match the dynamic query. 139 * 140 * @param dynamicQuery the dynamic query 141 * @return the number of rows that match the dynamic query 142 * @throws SystemException if a system exception occurred 143 */ 144 public long dynamicQueryCount( 145 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 146 throws com.liferay.portal.kernel.exception.SystemException; 147 148 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 149 public com.liferay.portal.model.UserGroup fetchUserGroup(long userGroupId) 150 throws com.liferay.portal.kernel.exception.SystemException; 151 152 /** 153 * Returns the user group with the primary key. 154 * 155 * @param userGroupId the primary key of the user group 156 * @return the user group 157 * @throws PortalException if a user group with the primary key could not be found 158 * @throws SystemException if a system exception occurred 159 */ 160 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 161 public com.liferay.portal.model.UserGroup getUserGroup(long userGroupId) 162 throws com.liferay.portal.kernel.exception.PortalException, 163 com.liferay.portal.kernel.exception.SystemException; 164 165 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 166 public com.liferay.portal.model.PersistedModel getPersistedModel( 167 java.io.Serializable primaryKeyObj) 168 throws com.liferay.portal.kernel.exception.PortalException, 169 com.liferay.portal.kernel.exception.SystemException; 170 171 /** 172 * Returns a range of all the user groups. 173 * 174 * <p> 175 * 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. 176 * </p> 177 * 178 * @param start the lower bound of the range of user groups 179 * @param end the upper bound of the range of user groups (not inclusive) 180 * @return the range of user groups 181 * @throws SystemException if a system exception occurred 182 */ 183 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 184 public java.util.List<com.liferay.portal.model.UserGroup> getUserGroups( 185 int start, int end) 186 throws com.liferay.portal.kernel.exception.SystemException; 187 188 /** 189 * Returns the number of user groups. 190 * 191 * @return the number of user groups 192 * @throws SystemException if a system exception occurred 193 */ 194 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 195 public int getUserGroupsCount() 196 throws com.liferay.portal.kernel.exception.SystemException; 197 198 /** 199 * Updates the user group in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 200 * 201 * @param userGroup the user group 202 * @return the user group that was updated 203 * @throws SystemException if a system exception occurred 204 */ 205 public com.liferay.portal.model.UserGroup updateUserGroup( 206 com.liferay.portal.model.UserGroup userGroup) 207 throws com.liferay.portal.kernel.exception.SystemException; 208 209 /** 210 * Updates the user group in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 211 * 212 * @param userGroup the user group 213 * @param merge whether to merge the user group 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. 214 * @return the user group that was updated 215 * @throws SystemException if a system exception occurred 216 */ 217 public com.liferay.portal.model.UserGroup updateUserGroup( 218 com.liferay.portal.model.UserGroup userGroup, boolean merge) 219 throws com.liferay.portal.kernel.exception.SystemException; 220 221 /** 222 * Returns the Spring bean ID for this bean. 223 * 224 * @return the Spring bean ID for this bean 225 */ 226 public java.lang.String getBeanIdentifier(); 227 228 /** 229 * Sets the Spring bean ID for this bean. 230 * 231 * @param beanIdentifier the Spring bean ID for this bean 232 */ 233 public void setBeanIdentifier(java.lang.String beanIdentifier); 234 235 /** 236 * Adds the user groups to the group. 237 * 238 * @param groupId the primary key of the group 239 * @param userGroupIds the primary keys of the user groups 240 * @throws SystemException if a system exception occurred 241 */ 242 public void addGroupUserGroups(long groupId, long[] userGroupIds) 243 throws com.liferay.portal.kernel.exception.SystemException; 244 245 /** 246 * Adds the user groups to the team. 247 * 248 * @param teamId the primary key of the team 249 * @param userGroupIds the primary keys of the user groups 250 * @throws SystemException if a system exception occurred 251 */ 252 public void addTeamUserGroups(long teamId, long[] userGroupIds) 253 throws com.liferay.portal.kernel.exception.SystemException; 254 255 /** 256 * Adds a user group. 257 * 258 * <p> 259 * This method handles the creation and bookkeeping of the user group, 260 * including its resources, metadata, and internal data structures. It is 261 * not necessary to make subsequent calls to setup default groups and 262 * resources for the user group. 263 * </p> 264 * 265 * @param userId the primary key of the user 266 * @param companyId the primary key of the user group's company 267 * @param name the user group's name 268 * @param description the user group's description 269 * @return the user group 270 * @throws PortalException if the user group's information was invalid 271 * @throws SystemException if a system exception occurred 272 */ 273 public com.liferay.portal.model.UserGroup addUserGroup(long userId, 274 long companyId, java.lang.String name, java.lang.String description) 275 throws com.liferay.portal.kernel.exception.PortalException, 276 com.liferay.portal.kernel.exception.SystemException; 277 278 /** 279 * Clears all associations between the user and its user groups and clears 280 * the permissions cache. 281 * 282 * <p> 283 * This method is called from {@link #deleteUserGroup(UserGroup)}. 284 * </p> 285 * 286 * @param userId the primary key of the user 287 * @throws SystemException if a system exception occurred 288 */ 289 public void clearUserUserGroups(long userId) 290 throws com.liferay.portal.kernel.exception.SystemException; 291 292 /** 293 * Copies the user group's layouts to the users who are not already members 294 * of the user group. 295 * 296 * @param userGroupId the primary key of the user group 297 * @param userIds the primary keys of the users 298 * @throws PortalException if any one of the users could not be found or 299 if a portal exception occurred 300 * @throws SystemException if a system exception occurred 301 * @deprecated 302 */ 303 public void copyUserGroupLayouts(long userGroupId, long[] userIds) 304 throws com.liferay.portal.kernel.exception.PortalException, 305 com.liferay.portal.kernel.exception.SystemException; 306 307 /** 308 * Copies the user groups' layouts to the user. 309 * 310 * @param userGroupIds the primary keys of the user groups 311 * @param userId the primary key of the user 312 * @throws PortalException if a user with the primary key could not be 313 found or if a portal exception occurred 314 * @throws SystemException if a system exception occurred 315 * @deprecated 316 */ 317 public void copyUserGroupLayouts(long[] userGroupIds, long userId) 318 throws com.liferay.portal.kernel.exception.PortalException, 319 com.liferay.portal.kernel.exception.SystemException; 320 321 /** 322 * Copies the user group's layout to the user. 323 * 324 * @param userGroupId the primary key of the user group 325 * @param userId the primary key of the user 326 * @throws PortalException if a user with the primary key could not be 327 found or if a portal exception occurred 328 * @throws SystemException if a system exception occurred 329 * @deprecated 330 */ 331 public void copyUserGroupLayouts(long userGroupId, long userId) 332 throws com.liferay.portal.kernel.exception.PortalException, 333 com.liferay.portal.kernel.exception.SystemException; 334 335 /** 336 * Returns the user group with the name. 337 * 338 * @param companyId the primary key of the user group's company 339 * @param name the user group's name 340 * @return Returns the user group with the name 341 * @throws PortalException if a user group with the name could not be found 342 * @throws SystemException if a system exception occurred 343 */ 344 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 345 public com.liferay.portal.model.UserGroup getUserGroup(long companyId, 346 java.lang.String name) 347 throws com.liferay.portal.kernel.exception.PortalException, 348 com.liferay.portal.kernel.exception.SystemException; 349 350 /** 351 * Returns all the user groups belonging to the company. 352 * 353 * @param companyId the primary key of the user groups' company 354 * @return the user groups belonging to the company 355 * @throws SystemException if a system exception occurred 356 */ 357 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 358 public java.util.List<com.liferay.portal.model.UserGroup> getUserGroups( 359 long companyId) 360 throws com.liferay.portal.kernel.exception.SystemException; 361 362 /** 363 * Returns all the user groups with the primary keys. 364 * 365 * @param userGroupIds the primary keys of the user groups 366 * @return the user groups with the primary keys 367 * @throws PortalException if any one of the user groups could not be found 368 * @throws SystemException if a system exception occurred 369 */ 370 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 371 public java.util.List<com.liferay.portal.model.UserGroup> getUserGroups( 372 long[] userGroupIds) 373 throws com.liferay.portal.kernel.exception.PortalException, 374 com.liferay.portal.kernel.exception.SystemException; 375 376 /** 377 * Returns all the user groups to which the user belongs. 378 * 379 * @param userId the primary key of the user 380 * @return the user groups to which the user belongs 381 * @throws SystemException if a system exception occurred 382 */ 383 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 384 public java.util.List<com.liferay.portal.model.UserGroup> getUserUserGroups( 385 long userId) throws com.liferay.portal.kernel.exception.SystemException; 386 387 /** 388 * Returns <code>true</code> if the user group is associated with the group. 389 * 390 * @param groupId the primary key of the group 391 * @param userGroupId the primary key of the user group 392 * @return <code>true</code> if the user group belongs to the group; 393 <code>false</code> otherwise 394 * @throws SystemException if a system exception occurred 395 */ 396 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 397 public boolean hasGroupUserGroup(long groupId, long userGroupId) 398 throws com.liferay.portal.kernel.exception.SystemException; 399 400 /** 401 * Returns <code>true</code> if the user group belongs to the team. 402 * 403 * @param teamId the primary key of the team 404 * @param userGroupId the primary key of the user group 405 * @return <code>true</code> if the user group belongs to the team; 406 <code>false</code> otherwise 407 * @throws SystemException if a system exception occurred 408 */ 409 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 410 public boolean hasTeamUserGroup(long teamId, long userGroupId) 411 throws com.liferay.portal.kernel.exception.SystemException; 412 413 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 414 public java.util.List<com.liferay.portal.model.UserGroup> search( 415 long companyId, java.lang.String keywords, 416 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 417 int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc) 418 throws com.liferay.portal.kernel.exception.SystemException; 419 420 /** 421 * Returns an ordered range of all the user groups that match the name and 422 * description. 423 * 424 * <p> 425 * Useful when paginating results. Returns a maximum of <code>end - 426 * start</code> instances. <code>start</code> and <code>end</code> are not 427 * primary keys, they are indexes in the result set. Thus, <code>0</code> 428 * refers to the first result in the set. Setting both <code>start</code> 429 * and <code>end</code> to {@link 430 * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full 431 * result set. 432 * </p> 433 * 434 * @param companyId the primary key of the user group's company 435 * @param name the user group's name (optionally <code>null</code>) 436 * @param description the user group's description (optionally 437 <code>null</code>) 438 * @param params the finder params (optionally <code>null</code>). For more 439 information see {@link 440 com.liferay.portal.service.persistence.UserGroupFinder} 441 * @param start the lower bound of the range of user groups to return 442 * @param end the upper bound of the range of user groups to return (not 443 inclusive) 444 * @param obc the comparator to order the user groups (optionally 445 <code>null</code>) 446 * @return the matching user groups ordered by comparator <code>obc</code> 447 * @throws SystemException if a system exception occurred 448 * @see com.liferay.portal.service.persistence.UserGroupFinder 449 */ 450 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 451 public java.util.List<com.liferay.portal.model.UserGroup> search( 452 long companyId, java.lang.String name, java.lang.String description, 453 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params, 454 int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc) 455 throws com.liferay.portal.kernel.exception.SystemException; 456 457 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 458 public int searchCount(long companyId, java.lang.String keywords, 459 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params) 460 throws com.liferay.portal.kernel.exception.SystemException; 461 462 /** 463 * Returns the number of user groups that match the name and description. 464 * 465 * @param companyId the primary key of the user group's company 466 * @param name the user group's name (optionally <code>null</code>) 467 * @param description the user group's description (optionally 468 <code>null</code>) 469 * @param params the finder params (optionally <code>null</code>). For more 470 information see {@link 471 com.liferay.portal.service.persistence.UserGroupFinder} 472 * @return the number of matching user groups 473 * @throws SystemException if a system exception occurred 474 * @see com.liferay.portal.service.persistence.UserGroupFinder 475 */ 476 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 477 public int searchCount(long companyId, java.lang.String name, 478 java.lang.String description, 479 java.util.LinkedHashMap<java.lang.String, java.lang.Object> params) 480 throws com.liferay.portal.kernel.exception.SystemException; 481 482 /** 483 * Sets the user groups associated with the user copying the user group 484 * layouts and removing and adding user group associations for the user as 485 * necessary. 486 * 487 * @param userId the primary key of the user 488 * @param userGroupIds the primary keys of the user groups 489 * @throws PortalException if a portal exception occurred 490 * @throws SystemException if a system exception occurred 491 */ 492 public void setUserUserGroups(long userId, long[] userGroupIds) 493 throws com.liferay.portal.kernel.exception.PortalException, 494 com.liferay.portal.kernel.exception.SystemException; 495 496 /** 497 * Removes the user groups from the group. 498 * 499 * @param groupId the primary key of the group 500 * @param userGroupIds the primary keys of the user groups 501 * @throws SystemException if a system exception occurred 502 */ 503 public void unsetGroupUserGroups(long groupId, long[] userGroupIds) 504 throws com.liferay.portal.kernel.exception.SystemException; 505 506 /** 507 * Removes the user groups from the team. 508 * 509 * @param teamId the primary key of the team 510 * @param userGroupIds the primary keys of the user groups 511 * @throws SystemException if a system exception occurred 512 */ 513 public void unsetTeamUserGroups(long teamId, long[] userGroupIds) 514 throws com.liferay.portal.kernel.exception.SystemException; 515 516 /** 517 * Updates the user group. 518 * 519 * @param companyId the primary key of the user group's company 520 * @param userGroupId the primary key of the user group 521 * @param name the user group's name 522 * @param description the user group's description 523 * @return the user group 524 * @throws PortalException if a user group with the primary key could not be 525 found or if the new information was invalid 526 * @throws SystemException if a system exception occurred 527 */ 528 public com.liferay.portal.model.UserGroup updateUserGroup(long companyId, 529 long userGroupId, java.lang.String name, java.lang.String description) 530 throws com.liferay.portal.kernel.exception.PortalException, 531 com.liferay.portal.kernel.exception.SystemException; 532 }