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 21 22 package org.apache.james.remotemanager; 23 24 import org.apache.avalon.cornerstone.services.store.Store; 25 import org.apache.james.api.user.UsersRepository; 26 import org.apache.james.api.user.UsersStore; 27 import org.apache.james.api.vut.management.VirtualUserTableManagementService; 28 import org.apache.james.management.BayesianAnalyzerManagementService; 29 import org.apache.james.management.DomainListManagementService; 30 import org.apache.james.management.ProcessorManagementService; 31 import org.apache.james.management.SpoolManagementService; 32 import org.apache.james.services.MailServer; 33 34 import java.util.HashMap; 35 36 /** 37 * Provides a number of server-wide constant values to the 38 * RemoteManagerHandlers 39 * 40 */ 41 public interface RemoteManagerHandlerConfigurationData { 42 43 /** 44 * Returns the service wide hello name 45 * 46 * @return the hello name 47 */ 48 String getHelloName(); 49 50 /** 51 * Returns the MailServer interface for this service. 52 * 53 * @return the MailServer interface for this service 54 */ 55 MailServer getMailServer(); 56 57 /** 58 * Returns the UsersRepository for this service. 59 * 60 * @return the local users repository 61 */ 62 UsersRepository getUsersRepository(); 63 64 /** 65 * Returns the UsersStore for this service. 66 * 67 * @return the local users store 68 */ 69 UsersStore getUserStore(); 70 71 /** 72 * Returns the SpoolManagement for this service. 73 * 74 * @return the spool manager 75 */ 76 SpoolManagementService getSpoolManagement(); 77 78 /** 79 * Returns the Administrative Account Data 80 * 81 * TODO: Change the return type to make this immutable. 82 * 83 * @return the admin account data 84 */ 85 HashMap getAdministrativeAccountData(); 86 87 /** 88 * Returns the prompt to be displayed when waiting for input. e.g. "james> ". 89 * 90 * @return the configured prompt, or an empty string when the prompt is not configured. 91 */ 92 String getPrompt(); 93 94 /** 95 * Returns the Store 96 * 97 * @return the Store 98 */ 99 Store getStore(); 100 101 /** 102 * Returns the BayesianAnalyzerManagementService 103 * 104 * @return the BayesianAnalyzerManagementService 105 */ 106 BayesianAnalyzerManagementService getBayesianAnalyzerManagement(); 107 108 /** 109 * Returns the ProcessorManagementService 110 * 111 * @return the ProcessorManagementService 112 */ 113 ProcessorManagementService getProcessorManagement(); 114 115 /** 116 * Return the VirtualUserTableManagementService 117 * 118 * @return the VirtualUserTableManagementService 119 */ 120 VirtualUserTableManagementService getVirtualUserTableManagement(); 121 122 /** 123 * Return the DomainListManagementService 124 * 125 * @return the DomainListManagementService 126 */ 127 DomainListManagementService getDomainListManagement(); 128 129 /** 130 * Gets avaliable commands. 131 * @return <code>Command</code>'s, not null possibly empty 132 */ 133 Command[] getCommands(); 134 }