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.management.J2EEDeployedObject;
020    import org.apache.geronimo.management.J2EEResource;
021    import org.apache.geronimo.management.AppClientModule;
022    import org.apache.geronimo.management.EJBModule;
023    import org.apache.geronimo.kernel.repository.ListableRepository;
024    import org.apache.geronimo.kernel.repository.WritableListableRepository;
025    import org.apache.geronimo.kernel.config.ConfigurationManager;
026    import org.apache.geronimo.system.serverinfo.ServerInfo;
027    import org.apache.geronimo.system.threads.ThreadPool;
028    import org.apache.geronimo.system.plugin.PluginInstaller;
029    import org.apache.geronimo.system.plugin.PluginRepositoryList;
030    
031    /**
032     * Geronimo-specific extensions to the standard J2EE server management
033     * interface.
034     *
035     * @version $Rev: 555665 $ $Date: 2007-07-12 11:38:54 -0400 (Thu, 12 Jul 2007) $
036     */
037    public interface J2EEServer extends org.apache.geronimo.management.J2EEServer {
038        /**
039         * A list of all of the J2EEApplication and J2EEModule types deployed on this J2EEServer.
040         * @see "JSR77.3.3.1.1"
041         * @return the deployed objects on this server
042         */
043        J2EEDeployedObject[] getDeployedObjectInstances();
044    
045        /**
046         * A list of resources available to this server.
047         * @see "JSR77.3.3.1.2"
048         * @return the resources available to this server
049         */
050        J2EEResource[] getResourceInstances();
051    
052        /**
053         * A list of all Java virtual machines on which this J2EEServer has running threads.
054         * @see "JSR77.3.3.1.3"
055         * @return the JVMs for this server
056         */
057        JVM[] getJavaVMInstances();
058    
059        /**
060         * Gets the Web Managers associated with this J2EEServer, or null if
061         * there are none in the current server configuration.
062         */
063        public WebManager[] getWebManagers();
064    
065        /**
066         * Gets the EJB Managers associated with this J2EEServer, or null if
067         * there are none in the current server configuration.
068         */
069        public EJBManager[] getEJBManagers();
070    
071        /**
072         * Gets the JMS Managers associated with this J2EEServer, or null if
073         * there are none in the current server configuration.
074         */
075        public JMSManager[] getJMSManagers();
076    
077        /**
078         * Gets the thread pools associated with this J2EEServer.
079         */
080        public ThreadPool[] getThreadPools();
081    
082        /**
083         * Gets the Repositories associated with this J2EEServer.
084         */
085        public ListableRepository[] getRepositories();
086    
087        /**
088         * Gets the writable repositories associated with this J2EEServer.
089         */
090        public WritableListableRepository[] getWritableRepositories();
091    
092        /**
093         * Gets the SecurityRealms associated with this J2EEServer.
094         */
095        public SecurityRealm[] getSecurityRealms();
096    
097        /**
098         * Gets the ServerInfo associated with this J2EEServer.
099         */
100        public ServerInfo getServerInfo();
101    
102        /**
103         * Gets the KeystoreManager associated with this J2EEServer.
104         */
105        public KeystoreManager getKeystoreManager();
106    
107        /**
108         * Gets the lists of plugin repositories available in this server.
109         */
110        public PluginRepositoryList[] getPluginRepositoryLists();
111    
112        /**
113         * Gets the PluginInstaller associated with this J2EEServer.
114         */
115        public PluginInstaller getPluginInstaller();
116    
117        /**
118         * Gets the ConfigurationManager associated with this J2EEServer.
119         */
120        public ConfigurationManager getConfigurationManager();
121    
122        /**
123         * Gets the applications currently running in this J2EEServer.
124         */
125        J2EEApplication[] getApplications();
126    
127        /**
128         * Gets the application clients currently running in this J2EEServer.
129         */
130        AppClientModule[] getAppClients();
131    
132        /**
133         * Gets the web modules currently running in this J2EEServer.
134         */
135        WebModule[] getWebModules();
136    
137        /**
138         * Gets the EJB modules currently running in this J2EEServer.
139         */
140        EJBModule[] getEJBModules();
141    
142        /**
143         * Gets the J2EE Connector modules currently running in this J2EEServer.
144         */
145        ResourceAdapterModule[] getResourceAdapterModules();
146    }