001 /** 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 package org.apache.geronimo.management.geronimo; 018 019 import org.apache.geronimo.gbean.AbstractName; 020 021 /** 022 * Base management interface for a network technology with associated 023 * containers and connectors. Examples might be Web, EJB, JMS (all 024 * of which have the concept of containers and connectors). The container 025 * would be the Web Container, EJB Container, or JMS Broker. The connectors 026 * would be the services that expose those containers over the network, via 027 * HTTP, RMI, TCP, etc. 028 * 029 * @version $Rev: 706640 $ $Date: 2008-10-21 14:44:05 +0000 (Tue, 21 Oct 2008) $ 030 */ 031 public interface NetworkManager { 032 /** 033 * Gets the name of the product that this manager manages. 034 */ 035 public String getProductName(); 036 037 /** 038 * Gets the network containers (web, EJB, JMS, etc.) 039 */ 040 public Object[] getContainers(); 041 042 /** 043 * Gets the protocols which this container can configure connectors for. 044 */ 045 public String[] getSupportedProtocols(); 046 047 /** 048 * Removes a connector. This shuts it down if necessary, and removes it 049 * from the server environment. It must be a connector that uses this 050 * network technology. 051 * @param connectorName 052 */ 053 public void removeConnector(AbstractName connectorName); 054 055 /** 056 * Gets any existing connectors for this network 057 * technology for the specified protocol. 058 * 059 * @param protocol A protocol as returned by getSupportedProtocols 060 */ 061 public NetworkConnector[] getConnectors(String protocol); 062 063 /** 064 * Gets any existing connectors associated with this 065 * network technology. 066 */ 067 public NetworkConnector[] getConnectors(); 068 069 /** 070 * Gets the ObjectNames of any existing connectors for the specified 071 * container for the specified protocol. 072 * 073 * @param container The container to get connectors for 074 * @param protocol A protocol as returned by getSupportedProtocols 075 */ 076 public NetworkConnector[] getConnectorsForContainer(Object container, String protocol); 077 078 /** 079 * Gets the ObjectNames of any existing connectors for the specified 080 * container. 081 * @param container The container to get connectors for 082 */ 083 public NetworkConnector[] getConnectorsForContainer(Object container); 084 }