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