org.eclipse.osgi.service.environment.EnvironmentInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/*******************************************************************************
* Copyright (c) 2003, 2008 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.osgi.service.environment;
/**
* A Framework service which gives access to the command line used to start
* this running framework as well as information about the environment
* such as the current operating system, machine architecture, locale and
* windowing system.
*
* This interface is not intended to be implemented by clients.
*
*
* @since 3.0
* @noimplement This interface is not intended to be implemented by clients.
*/
// TODO Need to add a method that gets the real application args.
//We might also want to explain how the command line is organized: fwk / non fwk. Non-fwk is rt args and app args.
public interface EnvironmentInfo {
/**
* Returns all command line arguments specified when the running framework was started.
*
* @return the array of command line arguments.
*/
public String[] getCommandLineArgs();
/**
* Returns the arguments consumed by the framework implementation itself. Which
* arguments are consumed is implementation specific.
*
* @return the array of command line arguments consumed by the framework.
*/
public String[] getFrameworkArgs();
/**
* Returns the arguments not consumed by the framework implementation itself. Which
* arguments are consumed is implementation specific.
*
* @return the array of command line arguments not consumed by the framework.
*/
public String[] getNonFrameworkArgs();
/**
* Returns the string name of the current system architecture.
* The value is a user-defined string if the architecture is
* specified on the command line, otherwise it is the value
* returned by java.lang.System.getProperty("os.arch")
.
*
* @return the string name of the current system architecture
*/
public String getOSArch();
/**
* Returns the string name of the current locale for use in finding files
* whose path starts with $nl$
.
*
* @return the string name of the current locale
*/
public String getNL();
/**
* Returns the string name of the current operating system for use in finding
* files whose path starts with $os$
. Return {@link Constants#OS_UNKNOWN}
* if the operating system cannot be determined.
*
* The value may indicate one of the operating systems known to the platform
* (as specified in org.eclipse.core.runtime.Platform#knownOSValues
)
* or a user-defined string if the operating system name is specified on the command line.
*
*
* @return the string name of the current operating system
*/
public String getOS();
/**
* Returns the string name of the current window system for use in finding files
* whose path starts with $ws$
. Return null
* if the window system cannot be determined.
*
* @return the string name of the current window system or null
*/
public String getWS();
/**
* Returns true
if the framework is in debug mode and
* false
otherwise.
*
* @return whether or not the framework is in debug mode
*/
public boolean inDebugMode();
/**
* Returns true
if the framework is in development mode
* and false
otherwise.
*
* @return whether or not the framework is in development mode
*/
public boolean inDevelopmentMode();
/**
* Returns the value for the specified property. Environment Properties are
* backed by the Java system properties. When the option
* osgi.framework.useSystemProperties
is used then
* the environment properties are specific for each instance of the framework.
*
* This method should be used instead of the System.getProperty(String)
* method to avoid the global nature of system properties.
*
* @param key the property key
* @return the value of the property, or null
* @since 3.4
*/
public String getProperty(String key);
/**
* Sets the value for the specified property. Environment Properties are
* backed by the Java system properties. When the option
* osgi.framework.useSystemProperties
is used then
* the environment properties are specific for each instance of the framework.
*
* This method should be used instead of the System.setProperty(String, String)
* method to avoid the global nature of system properties.
*
* @param key the property key
* @param value the value of the property
* @return the old value of the property, or null
* @since 3.4
*/
public String setProperty(String key, String value);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy