1 /************************************************************************
2 * Copyright (c) 1999-2006 The Apache Software Foundation. *
3 * All rights reserved. *
4 * ------------------------------------------------------------------- *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you *
6 * may not use this file except in compliance with the License. You *
7 * may obtain a copy of the License at: *
8 * *
9 * http://www.apache.org/licenses/LICENSE-2.0 *
10 * *
11 * Unless required by applicable law or agreed to in writing, software *
12 * distributed under the License is distributed on an "AS IS" BASIS, *
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or *
14 * implied. See the License for the specific language governing *
15 * permissions and limitations under the License. *
16 ***********************************************************************/
17
18 package org.apache.james.services;
19
20 import java.util.Iterator;
21
22 /***
23 * Interface for Phoenix blocks to access a store of Users. A UserStore
24 * contains one or more UserRepositories. Multiple UserRepositories may or may
25 * not have overlapping membership.
26 *
27 * @version 1.0.0, 24/04/1999
28 */
29 public interface UsersStore
30 {
31 /***
32 * The component role used by components implementing this service
33 */
34 String ROLE = "org.apache.james.services.UsersStore";
35
36 /***
37 * Get the repository, if any, whose name corresponds to
38 * the argument parameter
39 *
40 * @param name the name of the desired repository
41 *
42 * @return the UsersRepository corresponding to the name parameter
43 */
44 UsersRepository getRepository( String name );
45
46 /***
47 * Yield an <code>Iterator</code> over the set of repository
48 * names managed internally by this store.
49 *
50 * @return an Iterator over the set of repository names
51 * for this store
52 */
53 Iterator getRepositoryNames();
54 }