/******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.debug.core; import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate; import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2; /** * Provides a value representing the logical structure of a raw implementation value * from a debug model. Logical structures are useful for navigating complex data * structures. Logical structure types are contributed via extensions in plug-in XML, * and provide a delegate for performing logical value computation. Logical * structure types can be retrieved from the DebugPlugin. *

* Following is example plug-in XML to define a logical structure type. *

*
 * <extension point="org.eclipse.debug.core.logicalStructureTypes">
 *  <logicalStructureType
 *   id="com.example.ExampleLogicalStructure"
 *   class="com.example.ExampleLogicalStructureDelegate"
 *   modelIdentifier="com.example.debug.model"
 *   description="Ordered Collection">
 *  </logicalStructureType>
 * </extension>
 * 
*

* The attributes are specified as follows: *

*

*

* Clients contributing logicalStructureType extensions are not intended to implement * this interface. Rather, they provide an ILogicalStructureTypeDelegate * that optionally implements ILogicalStructureTypeDelegate2 to provide * dynamic descriptions of logical structures. * Since 3.1, clients contributing logicalStructureProviders extensions may implement this * interface to return a collection of logical structure types applicable to a value. *

* @since 3.0 * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate * @see org.eclipse.debug.core.ILogicalStructureProvider */ public interface ILogicalStructureType extends ILogicalStructureTypeDelegate, ILogicalStructureTypeDelegate2 { /** * Returns a simple description of the logical structure provided by this * structure type. *

* Since 3.1, this method can return null if this logical structure * type's delegate implements ILogicalStructureTypeDelegate2. *

* * @return a simple description of the logical structure provided by this * structure type, possibly null */ String getDescription(); /** * Returns this logical structure type's unique identifier, as defined * in plug-in XML. * * @return this logical structure type's unique identifier */ String getId(); }