1   package com.atlassian.user.util.migration;
2   
3   /**
4    *
5    */
6   public interface MigrationProgressListener
7   {
8       /**
9        * called when user migration begins
10       *
11       * @param usersToMigrate the overall number of users to migrate.
12       */
13      void userMigrationStarted(int usersToMigrate);
14  
15      /**
16       * called on each user migrated
17       */
18      void userMigrated();
19  
20      /**
21       * called when user migration is complete
22       */
23      void userMigrationComplete();
24  
25      /**
26       * called when group migration begins
27       *
28       * @param groupsToMigrate the overall number of groups to migrate
29       */
30      void groupMigrationStarted(int groupsToMigrate);
31  
32      /**
33       * called on each group migration
34       */
35      void groupMigrated();
36  
37      /**
38       * called when group migration is complete
39       */
40      void groupMigrationComplete();
41  
42      /**
43       * called when a group membership cannot be migrated because the target group is readonly.
44       */
45      void readonlyGroupMembershipNotMigrated(String groupName, String userName);
46  }