Class ScriptAuthorityService

All Implemented Interfaces:
org.alfresco.processor.ProcessorExtension, Scopeable

public class ScriptAuthorityService extends BaseScopableProcessorExtension
Script object representing the authority service. Provides Script access to groups and may in future be extended for roles and people.
Author:
Mark Rogers
  • Field Details

    • ON_FIRST_SPACE

      public static final String ON_FIRST_SPACE
      RegEx to split a String on the first space.
      See Also:
  • Constructor Details

    • ScriptAuthorityService

      public ScriptAuthorityService()
  • Method Details

    • setServiceRegistry

      public void setServiceRegistry(ServiceRegistry serviceRegistry)
    • getAuthorityService

      public AuthorityService getAuthorityService()
    • searchRootGroupsInZone

      public ScriptGroup[] searchRootGroupsInZone(String displayNamePattern, String zone)
      Search the root groups, those without a parent group.
      Returns:
      The root groups (empty if there are no root groups)
    • searchRootGroupsInZone

      public ScriptGroup[] searchRootGroupsInZone(String displayNamePattern, String zone, int maxItems, int skipCount)
      Search the root groups, those without a parent group.
      Parameters:
      maxItems - Maximum number of items returned.
      skipCount - number of items to skip.
      Returns:
      The root groups (empty if there are no root groups)
    • searchRootGroupsInZone

      public ScriptGroup[] searchRootGroupsInZone(String displayNamePattern, String zone, ScriptPagingDetails paging, String sortBy)
      Search the root groups, those without a parent group.
      Parameters:
      paging - Paging object with max number to return, and items to skip
      sortBy - What to sort on (authorityName, shortName or displayName)
      Returns:
      The root groups (empty if there are no root groups)
    • searchRootGroups

      public ScriptGroup[] searchRootGroups(String displayNamePattern)
      Search the root groups, those without a parent group.
      Returns:
      The root groups (empty if there are no root groups)
    • searchRootGroups

      public ScriptGroup[] searchRootGroups(String displayNamePattern, ScriptPagingDetails paging, String sortBy)
      Search the root groups, those without a parent group.
      Parameters:
      paging - Paging object with max number to return, and items to skip
      sortBy - What to sort on (authorityName, shortName or displayName)
      Returns:
      The root groups (empty if there are no root groups)
    • getAllRootGroups

      public ScriptGroup[] getAllRootGroups()
      Search the root groups, those without a parent group. Searches in all zones.
      Returns:
      The root groups (empty if there are no root groups)
    • getAllRootGroups

      public ScriptGroup[] getAllRootGroups(int maxItems, int skipCount)
      Search the root groups, those without a parent group. Searches in all zones.
      Returns:
      The root groups (empty if there are no root groups)
    • getAllRootGroups

      public ScriptGroup[] getAllRootGroups(ScriptPagingDetails paging)
      Search the root groups, those without a parent group. Searches in all zones.
      Returns:
      The root groups (empty if there are no root groups)
    • getAllRootGroupsInZone

      public ScriptGroup[] getAllRootGroupsInZone(String zone)
      Get the root groups, those without a parent group.
      Parameters:
      zone - zone to search in.
      Returns:
      The root groups (empty if there are no root groups)
    • getAllRootGroupsInZone

      public ScriptGroup[] getAllRootGroupsInZone(String zone, int maxItems, int skipCount)
      Get the root groups, those without a parent group.
      Parameters:
      zone - zone to search in.
      maxItems - Maximum number of items returned.
      skipCount - number of items to skip.
      Returns:
      The root groups (empty if there are no root groups)
    • getAllRootGroupsInZone

      public ScriptGroup[] getAllRootGroupsInZone(String zone, ScriptPagingDetails paging, String sortBy)
      Get the root groups, those without a parent group.
      Parameters:
      zone - zone to search in.
      paging - Paging object with max number to return, and items to skip
      sortBy - What to sort on (authorityName, shortName or displayName)
      Returns:
      The root groups (empty if there are no root groups)
    • getGroups

      public ScriptGroup[] getGroups(String filter, ScriptPagingDetails paging)
      Retreives groups matching the given filter from all zones. NOTE: If the filter is null, an empty string or * all groups found will be returned. If the filter starts with * or contains a ? character results returned could be inconsistent.
      Parameters:
      filter - Pattern to filter groups by
      paging - Paging details
      Returns:
      Array of matching groups
      Since:
      4.0
    • getGroups

      public ScriptGroup[] getGroups(String filter, ScriptPagingDetails paging, String sortBy)
      Retreives groups matching the given filter from all zones. NOTE: If the filter is null, an empty string or * all groups found will be returned. If the filter starts with * or contains a ? character results returned could be inconsistent.
      Parameters:
      filter - Pattern to filter groups by
      paging - Paging details
      sortBy - Field to sort by, can be shortName or displayName otherwise the results are ordered by the authorityName
      Returns:
      Array of matching groups
      Since:
      4.0
    • getGroupsInZone

      public ScriptGroup[] getGroupsInZone(String filter, String zone, ScriptPagingDetails paging, String sortBy)
      Deprecated.
      Since:
      4.0
    • getGroupsInZone

      public ScriptGroup[] getGroupsInZone(String filter, String zone, ScriptPagingDetails paging, String sortBy, boolean sortAsc)
      Retrieves groups matching the given filter from the given zone. NOTE: If the filter is null, an empty string or * all groups found will be returned.
      Parameters:
      filter - Pattern to filter groups by
      zone - The zone in which to search for groups
      paging - Paging details
      sortBy - Field to sort by, can be shortName, displayName or authorityName, the default is displayName
      sortAsc - sort ascending or not
      Returns:
      Array of matching groups
      Since:
      4.1.4
    • getGroup

      public ScriptGroup getGroup(String shortName)
      Get a group given its short name
      Parameters:
      shortName - the shortName of the group
      Returns:
      the authority or null if it can't be found
    • getGroupForFullAuthorityName

      public ScriptGroup getGroupForFullAuthorityName(String fullAuthorityName)
      Get a group given it full authority name (Which must begin with 'GROUP_'
      Parameters:
      fullAuthorityName - the shortName of the group
      Returns:
      the authority or null if it can't be found
    • createRootGroup

      public ScriptGroup createRootGroup(String shortName, String displayName)
      Create a new root group in the default application zones
      Returns:
      the new root group.
    • searchGroups

      public ScriptGroup[] searchGroups(String shortNameFilter)
      Search for groups in all zones.
      Parameters:
      shortNameFilter - partial match on shortName (* and ?) work. If empty then matches everything.
      Returns:
      the groups matching the query
    • searchGroups

      public ScriptGroup[] searchGroups(String shortNameFilter, ScriptPagingDetails paging, String sortBy)
      Search for groups in all zones.
      Parameters:
      shortNameFilter - partial match on shortName (* and ?) work. If empty then matches everything.
      paging - Paging object with max number to return, and items to skip
      sortBy - What to sort on (authorityName, shortName or displayName)
      Returns:
      the groups matching the query
    • searchGroupsInZone

      public ScriptGroup[] searchGroupsInZone(String shortNameFilter, String zone)
      Search for groups in a specific zone
      Parameters:
      shortNameFilter - partial match on shortName (* and ?) work. If empty then matches everything.
      zone - zone to search in.
      Returns:
      the groups matching the query
    • searchGroupsInZone

      public ScriptGroup[] searchGroupsInZone(String shortNameFilter, String zone, int maxItems, int skipCount)
      Search for groups in a specific zone Includes paging parameters to limit size of results returned.
      Parameters:
      shortNameFilter - partial match on shortName (* and ?) work. If empty then matches everything.
      zone - zone to search in.
      maxItems - Maximum number of items returned.
      skipCount - number of items to skip.
      Returns:
      the groups matching the query
    • searchGroupsInZone

      public ScriptGroup[] searchGroupsInZone(String shortNameFilter, String zone, ScriptPagingDetails paging, String sortBy)
      Search for groups in a specific zone Includes paging parameters to limit size of results returned.
      Parameters:
      shortNameFilter - partial match on shortName (* and ?) work. If empty then matches everything.
      zone - zone to search in.
      paging - Paging object with max number to return, and items to skip
      sortBy - What to sort on (authorityName, shortName or displayName)
      Returns:
      the groups matching the query
    • getUser

      public ScriptUser getUser(String username)
      Get a user given their username
      Parameters:
      username - the username of the user
      Returns:
      the user or null if they can't be found
    • searchUsers

      public ScriptUser[] searchUsers(String nameFilter, ScriptPagingDetails paging, String sortBy)
      Deprecated.
      see People.getPeople(String filter, ScriptPagingDetails pagingRequest, String sortBy)
      Search for users Includes paging parameters to limit size of results returned.
      Parameters:
      nameFilter - partial match of the name (username, first name, last name). If empty then matches everyone.
      paging - Paging object with max number to return, and items to skip
      sortBy - What to sort on (firstName, lastName or userName)
      Returns:
      the users matching the query