1   package com.atlassian.user.impl.delegation.repository;
2   
3   import com.atlassian.user.repository.RepositoryIdentifier;
4   
5   import java.util.*;
6   
7   public class DelegatingRepository implements RepositoryIdentifier
8   {
9       public static final String DELEGATING = "Delegating Repository: ";
10      private final List<RepositoryIdentifier> repositories = new ArrayList<RepositoryIdentifier>();
11  
12      public DelegatingRepository(List<RepositoryIdentifier> repositories)
13      {
14          repositories.addAll(repositories);
15      }
16  
17      public String getKey()
18      {
19          StringBuffer key = new StringBuffer(DELEGATING.length() + (30 * repositories.size()));
20          key.append(DELEGATING);
21  
22          for (RepositoryIdentifier repository : repositories)
23          {
24              key.append(repository.getKey()).append(" ");
25          }
26  
27          return key.toString();
28      }
29  
30      public String getName()
31      {
32          StringBuffer name = new StringBuffer(DELEGATING.length() + (50 * repositories.size()));
33          name.append(DELEGATING);
34  
35          for (RepositoryIdentifier repository : repositories)
36          {
37              name.append(repository.getName()).append(" ");
38          }
39  
40          return name.toString();
41      }
42  
43      public String getDescription()
44      {
45          return DELEGATING;
46      }
47  
48      public List<RepositoryIdentifier> getRepositories()
49      {
50          return repositories;    
51      }
52  }