# Logical Structure Types

###### Identifier:

org.eclipse.debug.core.logicalStructureTypes

###### Since:

3.0

###### Description:

This extension point allows debuggers to present alternative logical structures of values. Often, complex data structures are more convenient to navigate in terms of their logical structure, rather than in terms of their implementation. For example, no matter how a list is implemented (linked, array, etc.), a user may simply want to see the elements in the list in terms of an ordered collection. This extension point allows the contribution of logical structure types, to provide translations from a raw implementation value to a logical value.

###### Configuration Markup:

<!ELEMENT extension (logicalStructureType*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT logicalStructureType EMPTY>

<!ATTLIST logicalStructureType

id CDATA #REQUIRED

description CDATA #IMPLIED

class CDATA #REQUIRED

modelIdentifier CDATA #REQUIRED

>

- id - a unique identifier for this logical structure type
- description - a description of this logical structure. Since 3.1, this attribute is optional. When unspecified, a logical structure type delegate must also implement `ILogicalStructureTypeDelegate2` to provide descriptions for values that logical structures are provided for.
- class - fully qualified name of a Java class that implements `ILogicalStructureTypeDelegate`. The class may optionally implement `ILogicalStructureTypeDelegate2`.
- modelIdentifier - identifier of the debug model this logical structure type is associated with

###### Examples:

The following is an example of a logical structure type extension point:

     <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>

In the example above, the specified logical structure type will be consulted for alternative logical values for values from the `com.example.debug.model` debug model as they are displayed in the variables view.

###### API Information:

Value of the attribute class must be a fully qualified name of a Java class that implements the interface org.eclipse.debug.core.model.ILogicalStructureTypeDelegate.

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