1   package com.atlassian.user.configuration;
2   
3   import java.util.List;
4   
5   /**
6    * Given to an application to access the delegation of repositories.
7    */
8   public interface DelegationAccessor extends RepositoryAccessor
9   {
10      /**
11       * @return the {@link RepositoryAccessor} for the repository with the specified key, or <tt>null</tt> if
12       * no repository exists for the given key.
13       */
14      RepositoryAccessor getRepositoryAccessor(String key);
15  
16      /**
17       * @return a list of {@link RepositoryAccessor}s in the order of delegation.
18       */
19      List getRepositoryAccessors();
20  
21      /**
22       * Adds a {@link RepositoryAccessor} to the end of the delegation order.
23       */
24      void addRepositoryAccessor(RepositoryAccessor accessor);
25  }