01: /*******************************************************************************
02: * Copyright (c) 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.launching;
11:
12: /**
13: * Optional extensions that may be implemented by an
14: * {@link org.eclipse.jdt.launching.IVMInstall}.
15: * <p>
16: * When an <code>IVMInstall</code> implements this interface,
17: * clients must call <code>getVMArgs()</code> in place of
18: * <code>getVMArguments()</code> and <code>setVMArgs(String)</code> in place of
19: * <code>setVMArguments(String[])</code>. This avoids the problem noted
20: * in bug 73493.
21: * </p>
22: * <p>
23: * Additionally, this interface optionally provides the Java version
24: * associated with a VM install.
25: * </p>
26: * <p>
27: * Clients that implement {@link org.eclipse.jdt.launching.IVMInstall} may additionally
28: * implement this interface. However, it is strongly recommended that clients subclass
29: * {@link org.eclipse.jdt.launching.AbstractVMInstall} instead, which already implements
30: * this interface, and will insulate clients from additional API additions in the future.
31: * </p>
32: * @since 3.1
33: */
34: public interface IVMInstall2 {
35:
36: /**
37: * Returns VM arguments to be used with this vm install whenever this
38: * VM is launched as a raw string, or <code>null</code> if none.
39: *
40: * @return VM arguments to be used with this vm install whenever this
41: * VM is launched as a raw string, or <code>null</code> if none
42: */
43: public String getVMArgs();
44:
45: /**
46: * Sets VM arguments to be used with this vm install whenever this
47: * VM is launched as a raw string, possibly <code>null</code>.
48: *
49: * @param vmArgs VM arguments to be used with this vm install whenever this
50: * VM is launched as a raw string, possibly <code>null</code>
51: */
52: public void setVMArgs(String vmArgs);
53:
54: /**
55: * Returns a string representing the <code>java.version</code> system property
56: * of this VM install, or <code>null</code> if unknown.
57: *
58: * @return a string representing the <code>java.version</code> system property
59: * of this VM install, or <code>null</code> if unknown.
60: */
61: public String getJavaVersion();
62: }
|