1 /******************************************************************************* 2 * Copyright (c) 2004, 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.debug.core; 12 13 import org.eclipse.debug.core.model.IValue; 14 15 /** 16 * Provides logical structure types applicable to a raw implementation value from 17 * a debug model. Associated with a logical structure provider extension. 18 * <p> 19 * The following is an example of a logical structure provider extension: 20 * <pre> 21 * <extension point="org.eclipse.debug.core.logicalStructureProviders"> 22 * <logicalStructureProvider 23 * class="com.example.ExampleLogicalStructureProvider" 24 * modelIdentifier="com.example.debug.model"> 25 * </logicalStructureProvider> 26 * </extension> 27 * </pre> 28 * </p> 29 * In the example above, the specified logical structure provider will be consulted for 30 * alternative logical structures for values from the <code>com.example.debug.model</code> 31 * debug model as they are displayed in the variables view. 32 * </p> 33 * <p> 34 * Clients contributing logical structure providers must implement this 35 * interface. 36 * </p> 37 * @since 3.1 38 * @see org.eclipse.debug.core.ILogicalStructureType 39 */ 40 public interface ILogicalStructureProvider { 41 42 /** 43 * Returns the logical structure types which are applicable to the given value. 44 * 45 * @param value value for which logical structure types are being requested 46 * @return the logical structure types which are applicable to the given value 47 */ 48 public ILogicalStructureType[] getLogicalStructureTypes(IValue value); 49 50 } 51