Interface ResourcePermissionLocalService

All Superinterfaces:
BaseLocalService, CTService<ResourcePermission>, PersistedModelLocalService
All Known Implementing Classes:
ResourcePermissionLocalServiceWrapper

Provides the local service interface for ResourcePermission. 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.
Author:
Brian Wing Shun Chan
See Also:
{$generated.description}
  • Method Details

    • addModelResourcePermissions

      void addModelResourcePermissions(AuditedModel auditedModel, ServiceContext serviceContext) throws PortalException
      Throws:
      PortalException
    • addModelResourcePermissions

      void addModelResourcePermissions(long companyId, long groupId, long userId, String name, String primKey, ModelPermissions modelPermissions) throws PortalException
      Throws:
      PortalException
    • addModelResourcePermissions

      void addModelResourcePermissions(long companyId, long groupId, long userId, String name, String primKey, String[] groupPermissions, String[] guestPermissions) throws PortalException
      Adds resources for the model with the name and primary key string, always creating a resource at the individual scope and only creating resources at the group, group template, and company scope if such resources don't already exist.
      Parameters:
      companyId - the primary key of the portal instance
      groupId - the primary key of the group
      userId - the primary key of the user adding the resources
      name - a name for the resource, typically the model's class name
      primKey - the primary key string of the model instance, optionally an empty string if no instance exists
      groupPermissions - the group permissions to be applied
      guestPermissions - the guest permissions to be applied
      Throws:
      PortalException
    • addResourcePermission

      @Retry(acceptor=SQLStateAcceptor.class, properties=@Property(name="SQLSTATE",value="23")) void addResourcePermission(long companyId, String name, int scope, String primKey, long roleId, String actionId) throws PortalException
      Grants the role permission at the scope to perform the action on resources of the type. Existing actions are retained.

      This method cannot be used to grant individual scope permissions, but is only intended for adding permissions at the company, group, and group-template scopes. For example, this method could be used to grant a company scope permission to edit message board posts.

      If a company scope permission is granted to resources that the role already had group scope permissions to, the group scope permissions are deleted. Likewise, if a group scope permission is granted to resources that the role already had company scope permissions to, the company scope permissions are deleted. Be aware that this latter behavior can result in an overall reduction in permissions for the role.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope. This method only supports company, group, and group-template scope.
      primKey - the primary key
      roleId - the primary key of the role
      actionId - the action ID
      Throws:
      PortalException
    • addResourcePermission

      @Indexable(type=REINDEX) ResourcePermission addResourcePermission(ResourcePermission resourcePermission)
      Adds the resource permission to the database. Also notifies the appropriate model listeners.

      Important: Inspect ResourcePermissionLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      resourcePermission - the resource permission
      Returns:
      the resource permission that was added
    • addResourcePermissions

      void addResourcePermissions(long companyId, long groupId, long userId, String name, String primKey, boolean portletActions, ServiceContext serviceContext) throws PortalException
      Adds resources for the entity with the name and primary key string, always creating a resource at the individual scope and only creating resources at the group, group template, and company scope if such resources don't already exist.
      Parameters:
      companyId - the primary key of the portal instance
      groupId - the primary key of the group
      userId - the primary key of the user adding the resources
      name - a name for the resource, which should be a portlet ID if the resource is a portlet or the resource's class name otherwise
      primKey - the primary key string of the resource instance, optionally an empty string if no instance exists
      portletActions - whether to associate portlet actions with the resource
      Throws:
      PortalException
    • addResourcePermissions

      void addResourcePermissions(long companyId, long groupId, long userId, String name, String[] primKeys, boolean portletActions, ServiceContext serviceContext) throws PortalException
      Throws:
      PortalException
    • addResourcePermissions

      void addResourcePermissions(String resourceName, String roleName, int scope, long resourceActionBitwiseValue)
      Grants the role permissions at the scope to perform the actions on all resources of the type. Existing actions are retained.

      This method should only be used to add default permissions to existing resources en masse during upgrades or while verifying permissions. For example, this method could be used to grant site members individual scope permissions to view all blog posts.

      Parameters:
      resourceName - the resource's name, which can be either a class name or a portlet ID
      roleName - the role's name
      scope - the scope
      resourceActionBitwiseValue - the bitwise IDs of the actions
    • copyModelResourcePermissions

      void copyModelResourcePermissions(long companyId, String name, long sourcePrimKey, long targetPrimKey) throws PortalException
      Throws:
      PortalException
    • createPersistedModel

      PersistedModel createPersistedModel(Serializable primaryKeyObj) throws PortalException
      Specified by:
      createPersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • createResourcePermission

      @Transactional(enabled=false) ResourcePermission createResourcePermission(long resourcePermissionId)
      Creates a new resource permission with the primary key. Does not add the resource permission to the database.
      Parameters:
      resourcePermissionId - the primary key for the new resource permission
      Returns:
      the new resource permission
    • deletePersistedModel

      PersistedModel deletePersistedModel(PersistedModel persistedModel) throws PortalException
      Specified by:
      deletePersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • deleteResourcePermission

      @Indexable(type=DELETE) ResourcePermission deleteResourcePermission(long resourcePermissionId) throws PortalException
      Deletes the resource permission with the primary key from the database. Also notifies the appropriate model listeners.

      Important: Inspect ResourcePermissionLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      resourcePermissionId - the primary key of the resource permission
      Returns:
      the resource permission that was removed
      Throws:
      PortalException - if a resource permission with the primary key could not be found
    • deleteResourcePermission

      @Indexable(type=DELETE) ResourcePermission deleteResourcePermission(ResourcePermission resourcePermission)
      Deletes the resource permission from the database. Also notifies the appropriate model listeners.

      Important: Inspect ResourcePermissionLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      resourcePermission - the resource permission
      Returns:
      the resource permission that was removed
    • deleteResourcePermissions

      void deleteResourcePermissions(long companyId, String name, int scope) throws PortalException
      Throws:
      PortalException
    • deleteResourcePermissions

      void deleteResourcePermissions(long companyId, String name, int scope, long primKey) throws PortalException
      Deletes all resource permissions at the scope to resources of the type. This method should not be confused with any of the removeResourcePermission methods, as its purpose is very different. This method should only be used for deleting resource permissions that refer to a resource when that resource is deleted. For example this method could be used to delete all individual scope permissions to a blog post when it is deleted.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      Throws:
      PortalException
    • deleteResourcePermissions

      void deleteResourcePermissions(long companyId, String name, int scope, String primKey) throws PortalException
      Deletes all resource permissions at the scope to resources of the type. This method should not be confused with any of the removeResourcePermission methods, as its purpose is very different. This method should only be used for deleting resource permissions that refer to a resource when that resource is deleted. For example this method could be used to delete all individual scope permissions to a blog post when it is deleted.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      Throws:
      PortalException
    • deleteResourcePermissions

      void deleteResourcePermissions(String name)
    • dslQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> T dslQuery(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQuery in interface PersistedModelLocalService
    • dslQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int dslQueryCount(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQueryCount in interface PersistedModelLocalService
    • dynamicQuery

    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery)
      Performs a dynamic query on the database and returns the matching rows.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end)
      Performs a dynamic query on the database and returns a range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portal.model.impl.ResourcePermissionModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      Returns:
      the range of matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end, OrderByComparator<T> orderByComparator)
      Performs a dynamic query on the database and returns an ordered range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portal.model.impl.ResourcePermissionModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      orderByComparator - the comparator to order the results by (optionally null)
      Returns:
      the ordered range of matching rows
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the number of rows matching the dynamic query
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(DynamicQuery dynamicQuery, Projection projection)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      projection - the projection to apply to the query
      Returns:
      the number of rows matching the dynamic query
    • fetchResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) ResourcePermission fetchResourcePermission(long resourcePermissionId)
    • fetchResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) ResourcePermission fetchResourcePermission(long companyId, String name, int scope, String primKey, long roleId)
    • getActionableDynamicQuery

    • getAvailableResourcePermissionActionIds

      @Transactional(propagation=SUPPORTS, readOnly=true) Map<Long,Set<String>> getAvailableResourcePermissionActionIds(long companyId, String name, int scope, String primKey, Collection<String> actionIds)
    • getAvailableResourcePermissionActionIds

      @Transactional(propagation=SUPPORTS, readOnly=true) List<String> getAvailableResourcePermissionActionIds(long companyId, String name, int scope, String primKey, long roleId, Collection<String> actionIds) throws PortalException
      Returns the intersection of action IDs the role has permission at the scope to perform on resources of the type.
      Parameters:
      companyId - he primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleId - the primary key of the role
      actionIds - the action IDs
      Returns:
      the intersection of action IDs the role has permission at the scope to perform on resources of the type
      Throws:
      PortalException
    • getIndexableActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) IndexableActionableDynamicQuery getIndexableActionableDynamicQuery()
    • getIndividualPortletResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) Map<String,List<ResourcePermission>> getIndividualPortletResourcePermissions(long companyId)
    • getOSGiServiceIdentifier

      String getOSGiServiceIdentifier()
      Returns the OSGi service identifier.
      Returns:
      the OSGi service identifier
    • getPersistedModel

      @Transactional(propagation=SUPPORTS, readOnly=true) PersistedModel getPersistedModel(Serializable primaryKeyObj) throws PortalException
      Specified by:
      getPersistedModel in interface PersistedModelLocalService
      Throws:
      PortalException
    • getResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) ResourcePermission getResourcePermission(long resourcePermissionId) throws PortalException
      Returns the resource permission with the primary key.
      Parameters:
      resourcePermissionId - the primary key of the resource permission
      Returns:
      the resource permission
      Throws:
      PortalException - if a resource permission with the primary key could not be found
    • getResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) ResourcePermission getResourcePermission(long companyId, String name, int scope, String primKey, long roleId) throws PortalException
      Returns the resource permission for the role at the scope to perform the actions on resources of the type.
      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleId - the primary key of the role
      Returns:
      the resource permission for the role at the scope to perform the actions on resources of the type
      Throws:
      PortalException
    • getResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getResourcePermissions(int start, int end)
      Returns a range of all the resource permissions.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.portal.model.impl.ResourcePermissionModelImpl.

      Parameters:
      start - the lower bound of the range of resource permissions
      end - the upper bound of the range of resource permissions (not inclusive)
      Returns:
      the range of resource permissions
    • getResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getResourcePermissions(long companyId, String name, int scope, long roleId, boolean viewActionId)
    • getResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getResourcePermissions(long companyId, String name, int scope, String primKey)
      Returns all the resource permissions at the scope of the type.
      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      Returns:
      the resource permissions at the scope of the type
    • getResourcePermissions

    • getResourcePermissionsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getResourcePermissionsCount()
      Returns the number of resource permissions.
      Returns:
      the number of resource permissions
    • getResourcePermissionsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getResourcePermissionsCount(long companyId, String name, int scope, String primKey)
      Returns the number of resource permissions at the scope of the type.
      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      Returns:
      the number of resource permissions at the scope of the type
    • getResourceResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getResourceResourcePermissions(long companyId, long groupId, String name, String primKey)
      Returns the resource permissions that apply to the resource.
      Parameters:
      companyId - the primary key of the resource's company
      groupId - the primary key of the resource's group
      name - the resource's name, which can be either a class name or a portlet ID
      primKey - the primary key of the resource
      Returns:
      the resource permissions associated with the resource
    • getRoleResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getRoleResourcePermissions(long roleId)
      Returns all the resource permissions for the role.
      Parameters:
      roleId - the primary key of the role
      Returns:
      the resource permissions for the role
    • getRoleResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getRoleResourcePermissions(long roleId, int[] scopes, int start, int end)
      Returns a range of all the resource permissions for the role at the scopes.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to QueryUtil.ALL_POS will return the full result set.

      Parameters:
      roleId - the primary key of the role
      scopes - the scopes
      start - the lower bound of the range of results
      end - the upper bound of the range of results (not inclusive)
      Returns:
      the range of resource permissions for the role at the scopes
    • getRoles

      @Transactional(propagation=SUPPORTS, readOnly=true) List<Role> getRoles(long companyId, String name, int scope, String primKey, String actionId) throws PortalException
      Throws:
      PortalException
    • getScopeResourcePermissions

      @Transactional(propagation=SUPPORTS, readOnly=true) List<ResourcePermission> getScopeResourcePermissions(int[] scopes)
      Returns all the resource permissions where scope = any ?.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to QueryUtil.ALL_POS will return the full result set.

      Parameters:
      scopes - the scopes
      Returns:
      the resource permissions where scope = any ?
    • hasActionId

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasActionId(ResourcePermission resourcePermission, ResourceAction resourceAction)
      Returns true if the resource permission grants permission to perform the resource action. Note that this method does not ensure that the resource permission refers to the same type of resource as the resource action.
      Parameters:
      resourcePermission - the resource permission
      resourceAction - the resource action
      Returns:
      true if the resource permission grants permission to perform the resource action
    • hasResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasResourcePermission(List<Resource> resources, long[] roleIds, String actionId) throws PortalException
      Returns true if the roles have permission at the scope to perform the action on the resources.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      resources - the resources
      roleIds - the primary keys of the roles
      actionId - the action ID
      Returns:
      true if any one of the roles has permission to perform the action on any one of the resources; false otherwise
      Throws:
      PortalException
    • hasResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasResourcePermission(long companyId, String name, int scope, String primKey, long roleId, String actionId) throws PortalException
      Returns true if the role has permission at the scope to perform the action on resources of the type.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleId - the primary key of the role
      actionId - the action ID
      Returns:
      true if the role has permission to perform the action on the resource; false otherwise
      Throws:
      PortalException
    • hasResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasResourcePermission(long companyId, String name, int scope, String primKey, long[] roleIds, String actionId) throws PortalException
      Returns true if the roles have permission at the scope to perform the action on resources of the type.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleIds - the primary keys of the roles
      actionId - the action ID
      Returns:
      true if any one of the roles has permission to perform the action on the resource; false otherwise
      Throws:
      PortalException
    • hasScopeResourcePermission

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasScopeResourcePermission(long companyId, String name, int scope, long roleId, String actionId) throws PortalException
      Returns true if the role has permission at the scope to perform the action on the resource.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      roleId - the primary key of the role
      actionId - the action ID
      Returns:
      true if the role has permission to perform the action on the resource; false otherwise
      Throws:
      PortalException
    • initDefaultModelResourcePermissions

      void initDefaultModelResourcePermissions(long companyId, Collection<String> modelResources) throws PortalException
      Throws:
      PortalException
    • initPortletDefaultPermissions

      void initPortletDefaultPermissions(Portlet portlet) throws PortalException
      Throws:
      PortalException
    • mergePermissions

      void mergePermissions(long fromRoleId, long toRoleId) throws PortalException
      Reassigns all the resource permissions from the source role to the destination role, and deletes the source role.
      Parameters:
      fromRoleId - the primary key of the source role
      toRoleId - the primary key of the destination role
      Throws:
      PortalException
    • reassignPermissions

      void reassignPermissions(long resourcePermissionId, long toRoleId) throws PortalException
      Grants the role default permissions to all the resources of the type and at the scope stored in the resource permission, deletes the resource permission, and deletes the resource permission's role if it has no permissions remaining.
      Parameters:
      resourcePermissionId - the primary key of the resource permission
      toRoleId - the primary key of the role
      Throws:
      PortalException
    • removeResourcePermission

      void removeResourcePermission(long companyId, String name, int scope, String primKey, long roleId, String actionId) throws PortalException
      Revokes permission at the scope from the role to perform the action on resources of the type. For example, this method could be used to revoke a group scope permission to edit blog posts.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleId - the primary key of the role
      actionId - the action ID
      Throws:
      PortalException
    • removeResourcePermissions

      void removeResourcePermissions(long companyId, String name, int scope, long roleId, String actionId) throws PortalException
      Revokes all permissions at the scope from the role to perform the action on resources of the type. For example, this method could be used to revoke all individual scope permissions to edit blog posts from site members.
      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      roleId - the primary key of the role
      actionId - the action ID
      Throws:
      PortalException
    • setOwnerResourcePermissions

      @Retry(acceptor=SQLStateAcceptor.class, properties=@Property(name="SQLSTATE",value="23")) void setOwnerResourcePermissions(long companyId, String name, int scope, String primKey, long roleId, long ownerId, String[] actionIds) throws PortalException
      Updates the role's permissions at the scope, setting the actions that can be performed on resources of the type, also setting the owner of any newly created resource permissions. Existing actions are replaced.

      This method can be used to set permissions at any scope, but it is generally only used at the individual scope. For example, it could be used to set the guest permissions on a blog post.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleId - the primary key of the role
      ownerId - the primary key of the owner (generally the user that created the resource)
      actionIds - the action IDs of the actions
      Throws:
      PortalException
    • setResourcePermissions

      @Retry(acceptor=SQLStateAcceptor.class, properties=@Property(name="SQLSTATE",value="23")) void setResourcePermissions(long companyId, String name, int scope, String primKey, long roleId, String[] actionIds) throws PortalException
      Updates the role's permissions at the scope, setting the actions that can be performed on resources of the type. Existing actions are replaced.

      This method can be used to set permissions at any scope, but it is generally only used at the individual scope. For example, it could be used to set the guest permissions on a blog post.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleId - the primary key of the role
      actionIds - the action IDs of the actions
      Throws:
      PortalException
    • setResourcePermissions

      @Retry(acceptor=SQLStateAcceptor.class, properties=@Property(name="SQLSTATE",value="23")) void setResourcePermissions(long companyId, String name, int scope, String primKey, Map<Long,String[]> roleIdsToActionIds) throws PortalException
      Updates the role's permissions at the scope, setting the actions that can be performed on resources of the type. Existing actions are replaced.

      This method can be used to set permissions at any scope, but it is generally only used at the individual scope. For example, it could be used to set the guest permissions on a blog post.

      Depending on the scope, the value of primKey will have different meanings. For more information, see ResourcePermissionImpl.

      Parameters:
      companyId - the primary key of the company
      name - the resource's name, which can be either a class name or a portlet ID
      scope - the scope
      primKey - the primary key
      roleIdsToActionIds - a map of role IDs to action IDs of the actions
      Throws:
      PortalException
    • updateModelResourcePermissions

      void updateModelResourcePermissions(AuditedModel auditedModel, ServiceContext serviceContext) throws PortalException
      Updates the resources for the model, replacing their group and guest permissions with new ones from the service context.
      Parameters:
      auditedModel - the model associated with the resources
      serviceContext - the service context to be applied. Can set group and guest permissions.
      Throws:
      PortalException
    • updateResourcePermission

      @Indexable(type=REINDEX) ResourcePermission updateResourcePermission(ResourcePermission resourcePermission)
      Updates the resource permission in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.

      Important: Inspect ResourcePermissionLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      resourcePermission - the resource permission
      Returns:
      the resource permission that was updated
    • updateResourcePermissions

      void updateResourcePermissions(long companyId, long groupId, String name, long primKey, String[] groupPermissions, String[] guestPermissions) throws PortalException
      Updates resources matching the group, name, and primary key at the individual scope, setting new group and guest permissions.
      Parameters:
      companyId - the primary key of the portal instance
      groupId - the primary key of the group
      name - the resource's name, which should be a portlet ID if the resource is a portlet or the resource's class name otherwise
      primKey - the primary key of the resource instance
      groupPermissions - the group permissions to be applied
      guestPermissions - the guest permissions to be applied
      Throws:
      PortalException
    • updateResourcePermissions

      void updateResourcePermissions(long companyId, long groupId, String name, String primKey, ModelPermissions modelPermissions) throws PortalException
      Throws:
      PortalException
    • updateResourcePermissions

      void updateResourcePermissions(long companyId, long groupId, String name, String primKey, String[] groupPermissions, String[] guestPermissions) throws PortalException
      Throws:
      PortalException
    • updateResourcePermissions

      void updateResourcePermissions(long companyId, String name, int scope, String primKey, String newPrimKey)
    • getCTPersistence

      Specified by:
      getCTPersistence in interface CTService<ResourcePermission>
    • getModelClass

      Specified by:
      getModelClass in interface CTService<ResourcePermission>
    • updateWithUnsafeFunction

      @Transactional(rollbackFor=java.lang.Throwable.class) <R, E extends Throwable> R updateWithUnsafeFunction(com.liferay.petra.function.UnsafeFunction<CTPersistence<ResourcePermission>,R,E> updateUnsafeFunction) throws E
      Specified by:
      updateWithUnsafeFunction in interface CTService<ResourcePermission>
      Throws:
      E extends Throwable