1 /*****************************************************************
2 * Licensed to the Apache Software Foundation (ASF) under one *
3 * or more contributor license agreements. See the NOTICE file *
4 * distributed with this work for additional information *
5 * regarding copyright ownership. The ASF licenses this file *
6 * to you under the Apache License, Version 2.0 (the *
7 * "License"); you may not use this file except in compliance *
8 * with the License. You may obtain a copy of the License at *
9 * *
10 * http://www.apache.org/licenses/LICENSE-2.0 *
11 * *
12 * Unless required by applicable law or agreed to in writing, *
13 * software distributed under the License is distributed on an *
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
15 * KIND, either express or implied. See the License for the *
16 * specific language governing permissions and limitations *
17 * under the License. *
18 ****************************************************************/
19
20 package org.apache.james.remotemanager;
21
22 import org.apache.james.services.MailServer;
23 import org.apache.james.services.UsersRepository;
24 import org.apache.james.services.UsersStore;
25
26 import java.util.HashMap;
27
28 /***
29 * Provides a number of server-wide constant values to the
30 * RemoteManagerHandlers
31 *
32 */
33 public interface RemoteManagerHandlerConfigurationData {
34
35 /***
36 * Returns the service wide hello name
37 *
38 * @return the hello name
39 */
40 String getHelloName();
41
42 /***
43 * Returns the MailServer interface for this service.
44 *
45 * @return the MailServer interface for this service
46 */
47 MailServer getMailServer();
48
49 /***
50 * Returns the UsersRepository for this service.
51 *
52 * @return the local users repository
53 */
54 UsersRepository getUsersRepository();
55
56 /***
57 * Returns the UsersStore for this service.
58 *
59 * @return the local users store
60 */
61 UsersStore getUserStore();
62
63 /***
64 * Returns the Administrative Account Data
65 *
66 * TODO: Change the return type to make this immutable.
67 *
68 * @return the admin account data
69 */
70 HashMap getAdministrativeAccountData();
71
72 /***
73 * Returns the prompt to be displayed when waiting for input. e.g. "james> ".
74 *
75 * @return the configured prompt, or an empty string when the prompt is not configured.
76 */
77 String getPrompt();
78
79 }