1 /******************************************************************************* 2 * Copyright (c) 2005 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 package org.eclipse.ui.internal.components.registry; 12 13 /** 14 * Used to represent a relationship between two scopes. 15 * 16 * Not intended to be implemented by clients. 17 * 18 * <p>EXPERIMENTAL: The components framework is currently under active development. All 19 * aspects of this class including its existence, name, and public interface are likely 20 * to change during the development of Eclipse 3.1</p> 21 * 22 * @since 3.1 23 */ 24 public interface IScopeReference { 25 26 /** 27 * Relationship constant indicating that the child scope extends the parent 28 * scope. In this case, all of the services in the parent scope 29 * are also visible in the child scope. 30 */ 31 public static final int REL_EXTENDS = 0; 32 33 /** 34 * Relationship constant indicating that the child scope requires the parent 35 * scope. In this case all of the services in the parent scope 36 * are required by the child scope, but the child does not automatically 37 * provide those services. 38 */ 39 public static final int REL_REQUIRES = 0; 40 41 /** 42 * Returns one of the REL_* constants, above. This indicates the nature 43 * of the relationship between the two scopes. 44 * 45 * @return one of the REL_* constants, above. 46 */ 47 public int getRelationship(); 48 49 /** 50 * Returns the scope being extended 51 * 52 * @return the target scope 53 */ 54 public IComponentScope getTarget(); 55 } 56