mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			279 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			279 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Java
		
	
	
	
| /* RuntimeMXBean.java - Interface for a runtime bean
 | |
|    Copyright (C) 2006 Free Software Foundation
 | |
| 
 | |
| This file is part of GNU Classpath.
 | |
| 
 | |
| GNU Classpath is free software; you can redistribute it and/or modify
 | |
| it under the terms of the GNU General Public License as published by
 | |
| the Free Software Foundation; either version 2, or (at your option)
 | |
| any later version.
 | |
| 
 | |
| GNU Classpath is distributed in the hope that it will be useful, but
 | |
| WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
| General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU General Public License
 | |
| along with GNU Classpath; see the file COPYING.  If not, write to the
 | |
| Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | |
| 02110-1301 USA.
 | |
| 
 | |
| Linking this library statically or dynamically with other modules is
 | |
| making a combined work based on this library.  Thus, the terms and
 | |
| conditions of the GNU General Public License cover the whole
 | |
| combination.
 | |
| 
 | |
| As a special exception, the copyright holders of this library give you
 | |
| permission to link this library with independent modules to produce an
 | |
| executable, regardless of the license terms of these independent
 | |
| modules, and to copy and distribute the resulting executable under
 | |
| terms of your choice, provided that you also meet, for each linked
 | |
| independent module, the terms and conditions of the license of that
 | |
| module.  An independent module is a module which is not derived from
 | |
| or based on this library.  If you modify this library, you may extend
 | |
| this exception to your version of the library, but you are not
 | |
| obligated to do so.  If you do not wish to do so, delete this
 | |
| exception statement from your version. */
 | |
| 
 | |
| package java.lang.management;
 | |
| 
 | |
| import java.util.List;
 | |
| import java.util.Map;
 | |
| 
 | |
| /**
 | |
|  * Provides access to information about the underlying virtual
 | |
|  * machine.  An instance of this bean is obtained by calling
 | |
|  * {@link ManagementFactory#getRuntimeMXBean()}.
 | |
|  *
 | |
|  * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
 | |
|  * @since 1.5
 | |
|  */
 | |
| public interface RuntimeMXBean
 | |
| {
 | |
| 
 | |
|   /**
 | |
|    * <p>
 | |
|    * Returns the boot classpath used by the virtual machine.  This
 | |
|    * value follows the standard path syntax used by the underlying
 | |
|    * operating system (e.g. directories separated by ':' on UNIX
 | |
|    * or ';' on Windows).
 | |
|    * </p>
 | |
|    * <p>
 | |
|    * Supplying this value is optional.  Users should check the
 | |
|    * return value of {@link isBootClassPathSupported()} prior to
 | |
|    * calling this method.
 | |
|    * </p>
 | |
|    *
 | |
|    * @return the boot classpath of the virtual machine, if supported.
 | |
|    * @throws UnsupportedOperationException in cases where this
 | |
|    *                                       functionality is not
 | |
|    *                                       supported by the VM.
 | |
|    * @throws SecurityException if a security manager exists and
 | |
|    *                           denies ManagementPermission("monitor").
 | |
|    * @see #isBootClassPathSupported()
 | |
|    * @see java.lang.management.ManagementPermission
 | |
|    */
 | |
|   String getBootClassPath();
 | |
| 
 | |
|   /**
 | |
|    * Returns the classpath used by the system classloader.  This
 | |
|    * is equivalent to obtaining the <code>java.class.path</code>
 | |
|    * property via {@link System#getProperty(String)}.  This value
 | |
|    * follows the standard path syntax used by the underlying operating
 | |
|    * system (e.g. directories separated by ':' on UNIX or ';' on
 | |
|    * Windows).
 | |
|    *
 | |
|    * @return the classpath used by the system class loader.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the classpath
 | |
|    *                           property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getClassPath();
 | |
| 
 | |
|   /**
 | |
|    * Returns a list of the arguments given to the virtual machine,
 | |
|    * excluding those that apply to the <code>main()</code> method
 | |
|    * of the class file being executed.  These may not just be those
 | |
|    * specified at the command line, but may also include arguments
 | |
|    * from environment variables, configuration files, etc.  All
 | |
|    * command line arguments may not reach the virtual machine, so
 | |
|    * these are not included in this list.
 | |
|    *
 | |
|    * @return a list of arguments passed to the virtual machine.
 | |
|    * @throws SecurityException if a security manager exists and
 | |
|    *                           denies ManagementPermission("monitor").
 | |
|    * @see java.lang.management.ManagementPermission
 | |
|    */
 | |
|   List<String> getInputArguments();
 | |
| 
 | |
|   /**
 | |
|    * Returns the library path.  This is equivalent to obtaining the
 | |
|    * <code>java.library.path</code> property via
 | |
|    * {@link System#getProperty(String)}.  This value follows the
 | |
|    * standard path syntax used by the underlying operating
 | |
|    * system (e.g. directories separated by ':' on UNIX or ';' on
 | |
|    * Windows).
 | |
|    *
 | |
|    * @return the library path.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the library path
 | |
|    *                           property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getLibraryPath();
 | |
| 
 | |
|   /**
 | |
|    * Returns the version of the management specification
 | |
|    * implemented by the virtual machine.
 | |
|    *
 | |
|    * @return the version of the management specification
 | |
|    *         implemented.
 | |
|    */
 | |
|   String getManagementSpecVersion();
 | |
| 
 | |
|   /**
 | |
|    * Returns the name of this virtual machine.  The content
 | |
|    * of this property is left up to the developer of the
 | |
|    * virtual machine.  It may include a number of system
 | |
|    * attributes and may differ between instances of the
 | |
|    * same virtual machine (for example, it might include
 | |
|    * the process identifier or the host name of the machine
 | |
|    * on which it is running).  The intention is that this
 | |
|    * name refers to the precise entity that the other data
 | |
|    * supplied by this bean refers to, rather than the VM
 | |
|    * in general.
 | |
|    *
 | |
|    * @return the name of this virtual machine.
 | |
|    */
 | |
|   String getName();
 | |
| 
 | |
|   /**
 | |
|    * Returns the specification name of the virtual machine.
 | |
|    * This is equivalent to obtaining the
 | |
|    * <code>java.vm.specification.name</code> property via
 | |
|    * {@link System#getProperty(String)}.
 | |
|    *
 | |
|    * @return the specification name of the VM.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the VM
 | |
|    *                           specification name property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getSpecName();
 | |
| 
 | |
|   /**
 | |
|    * Returns the specification vendor of the virtual machine.
 | |
|    * This is equivalent to obtaining the
 | |
|    * <code>java.vm.specification.vendor</code> property via
 | |
|    * {@link System#getProperty(String)}.
 | |
|    *
 | |
|    * @return the specification vendor of the VM.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the VM
 | |
|    *                           specification vendor property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getSpecVendor();
 | |
| 
 | |
|   /**
 | |
|    * Returns the specification version of the virtual machine.
 | |
|    * This is equivalent to obtaining the
 | |
|    * <code>java.vm.specification.version</code> property via
 | |
|    * {@link System#getProperty(String)}.
 | |
|    *
 | |
|    * @return the specification version of the VM.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the VM
 | |
|    *                           specification version property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getSpecVersion();
 | |
| 
 | |
|   /**
 | |
|    * Returns the approximate start time of the virtual machine
 | |
|    * in milliseconds.
 | |
|    *
 | |
|    * @return the start time of the virtual machine.
 | |
|    */
 | |
|   long getStartTime();
 | |
| 
 | |
|   /**
 | |
|    * Returns a map containing the keys and values of the system
 | |
|    * properties.  This gives largely the same result as calling
 | |
|    * {@link System#getProperties()}, but the resulting map
 | |
|    * is filtered so as to only provide keys and values that
 | |
|    * are <code>String</code>s.
 | |
|    *
 | |
|    * @return the map of system properties.
 | |
|    */
 | |
|   Map<String,String> getSystemProperties();
 | |
| 
 | |
|   /**
 | |
|    * Returns the uptime of the virtual machine in milliseconds.
 | |
|    *
 | |
|    * @return the uptime of the virtual machine.
 | |
|    */
 | |
|   long getUptime();
 | |
| 
 | |
|   /**
 | |
|    * Returns the implementation name of the virtual machine.
 | |
|    * This is equivalent to obtaining the
 | |
|    * <code>java.vm.name</code> property via
 | |
|    * {@link System#getProperty(String)}.
 | |
|    *
 | |
|    * @return the implementation name of the VM.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the VM name
 | |
|    *                           property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getVmName();
 | |
| 
 | |
|   /**
 | |
|    * Returns the implementation vendor of the virtual machine.
 | |
|    * This is equivalent to obtaining the
 | |
|    * <code>java.vm.vendor</code> property via
 | |
|    * {@link System#getProperty(String)}.
 | |
|    *
 | |
|    * @return the implementation vendor of the VM.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the VM vendor
 | |
|    *                           property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getVmVendor();
 | |
| 
 | |
|   /**
 | |
|    * Returns the implementation version of the virtual machine.
 | |
|    * This is equivalent to obtaining the
 | |
|    * <code>java.vm.version</code> property via
 | |
|    * {@link System#getProperty(String)}.
 | |
|    *
 | |
|    * @return the implementation version of the VM.
 | |
|    * @throws SecurityException if a security manager exists which
 | |
|    *                           prevents access to the VM version
 | |
|    *                           property.
 | |
|    * @see java.lang.System#getProperty(String)
 | |
|    * @see java.lang.SecurityManager#checkPropertyAccess(String)
 | |
|    */
 | |
|   String getVmVersion();
 | |
| 
 | |
|   /**
 | |
|    * Returns true if the virtual machine supports the boot classpath
 | |
|    * mechanism.
 | |
|    *
 | |
|    * @return true if the boot classpath property is supported by the
 | |
|    *         virtual machine.
 | |
|    */
 | |
|   boolean isBootClassPathSupported();
 | |
| 
 | |
| }
 |