1 /******************************************************************************* 2 * Copyright (c) 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 ******************************************************************************/ 11 12 package org.eclipse.ui.internal.services; 13 14 /** 15 * </p> 16 * A service which can appear on a component which is wholly contained with 17 * another component. The component on which it appears can be active or 18 * inactive -- depending on the state of the application. For example, a 19 * workbench part is a component which appears within a workbench window. This 20 * workbench part can either be active or inactive, depending on what the user 21 * is doing. 22 * </p> 23 * <p> 24 * Services implement this interface, and are then notified by the component 25 * when the activation changes. It is the responsibility of the component to 26 * notify such services when the activation changes. 27 * </p> 28 * <p> 29 * This class is not intended for use outside of the 30 * <code>org.eclipse.ui.workbench</code> plug-in. 31 * </p> 32 * <p> 33 * <strong>PROVISIONAL</strong>. This class or interface has been added as part 34 * of a work in progress. There is a guarantee neither that this API will work 35 * nor that it will remain the same. Please do not use this API without 36 * consulting with the Platform/UI team. 37 * </p> 38 * <p> 39 * This class should eventually move to <code>org.eclipse.ui.services</code>. 40 * </p> 41 * 42 * @since 3.2 43 */ 44 public interface INestable { 45 46 /** 47 * Notifies this service that the component within which it exists has 48 * become active. The service should modify its state as appropriate. 49 * 50 */ 51 public void activate(); 52 53 /** 54 * Notifies this service that the component within which it exists has 55 * become inactive. The service should modify its state as appropriate. 56 */ 57 public void deactivate(); 58 } 59