001: /*******************************************************************************
002: * Copyright (c) 2000, 2005 IBM Corporation and others.
003: * All rights reserved. This program and the accompanying materials
004: * are made available under the terms of the Eclipse Public License v1.0
005: * which accompanies this distribution, and is available at
006: * http://www.eclipse.org/legal/epl-v10.html
007: *
008: * Contributors:
009: * IBM Corporation - initial API and implementation
010: *******************************************************************************/package org.eclipse.jdt.launching;
011:
012: import org.eclipse.jdt.internal.launching.LaunchingPlugin;
013:
014: /**
015: * A VM install changed listener is notified when
016: * the workspace default VM install changes, or when an attribute of
017: * a specific VM install changes.
018: * Listeners register with <code>JavaRuntime</code>.
019: * <p>
020: * Clients may implement this interface.
021: * </p>
022: * @since 2.0
023: */
024: public interface IVMInstallChangedListener {
025:
026: /**
027: * Property constant indicating the library locations associated
028: * with a VM install have changed.
029: */
030: public static final String PROPERTY_LIBRARY_LOCATIONS = LaunchingPlugin
031: .getUniqueIdentifier()
032: + ".PROPERTY_LIBRARY_LOCATIONS"; //$NON-NLS-1$
033:
034: /**
035: * Property constant indicating the name associated
036: * with a VM install has changed.
037: */
038: public static final String PROPERTY_NAME = LaunchingPlugin
039: .getUniqueIdentifier()
040: + ".PROPERTY_NAME"; //$NON-NLS-1$
041:
042: /**
043: * Property constant indicating the install location of
044: * a VM install has changed.
045: */
046: public static final String PROPERTY_INSTALL_LOCATION = LaunchingPlugin
047: .getUniqueIdentifier()
048: + ".PROPERTY_INSTALL_LOCATION"; //$NON-NLS-1$
049:
050: /**
051: * Property constant indicating the Javadoc location associated
052: * with a VM install has changed.
053: */
054: public static final String PROPERTY_JAVADOC_LOCATION = LaunchingPlugin
055: .getUniqueIdentifier()
056: + ".PROPERTY_JAVADOC_LOCATION"; //$NON-NLS-1$
057:
058: /**
059: * Property constant indicating the VM arguments associated
060: * with a VM install has changed.
061: *
062: * @since 3.2
063: */
064: public static final String PROPERTY_VM_ARGUMENTS = LaunchingPlugin
065: .getUniqueIdentifier()
066: + ".PROPERTY_VM_ARGUMENTS"; //$NON-NLS-1$
067:
068: /**
069: * Notification that the workspace default VM install
070: * has changed.
071: *
072: * @param previous the VM install that was previously assigned
073: * to the workspace, possibly <code>null</code>
074: * @param current the VM install that is currently assigned to the
075: * workspace, possibly <code>null</code>
076: */
077: public void defaultVMInstallChanged(IVMInstall previous,
078: IVMInstall current);
079:
080: /**
081: * Notification that a property of a VM install has changed.
082: *
083: * @param event event describing the change. The VM that has changed
084: * is the source object associated with the event.
085: */
086: public void vmChanged(PropertyChangeEvent event);
087:
088: /**
089: * Notification that a VM has been created.
090: *
091: * @param vm the vm that has been created
092: */
093: public void vmAdded(IVMInstall vm);
094:
095: /**
096: * Notification that a VM has been disposed.
097: *
098: * @param vm the vm that has been disposed
099: */
100: public void vmRemoved(IVMInstall vm);
101:
102: }
|