Runtime

## org.eclipse.gmf.runtime.emf.ui.properties.descriptors
Class EMFCompositePropertySource

    java.lang.Object
      org.eclipse.emf.edit.ui.provider.PropertySource
          org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource

All Implemented Interfaces:
  ICompositePropertySource, IPropertySource

Direct Known Subclasses:
  NotationPropertySource

    public class EMFCompositePropertySource

extends org.eclipse.emf.edit.ui.provider.PropertySource
implements ICompositePropertySource

`IItemPropertySource` wrapper, is a linked list of composite property sources - may contain another composite property source wrapper inside. For example, a edit part will have a composite source, consisting of two - one (outer) for the shape itself and other (enclosed) - for the underlying UML element

Field Summary

Fields inherited from class org.eclipse.emf.edit.ui.provider.PropertySource
`itemPropertySource, object`

Constructor Summary
`protected` `EMFCompositePropertySource(java.lang.Object object, org.eclipse.emf.edit.provider.IItemPropertySource itemPropertySource)` Constructs an instance of `EMFCompositePropertySource`
`` `EMFCompositePropertySource(java.lang.Object object, org.eclipse.emf.edit.provider.IItemPropertySource itemPropertySource, java.lang.String category)` Constructs an instance of `EMFCompositePropertySource`

Method Summary
`void` `addPropertySource(ICompositePropertySource source)` Add another composite property source to the linked list
`protected void` `cacheDescriptor(EMFCompositeSourcePropertyDescriptor d)`
`protected IPropertyDescriptor` `createPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor)`
`protected java.lang.String` `getCategory()`
`java.lang.Object` `getEditableValue()`
`protected java.util.Map` `getLocalDescriptors()`
`protected java.lang.Object` `getObject()`
`IPropertyDescriptor[]` `getPropertyDescriptors()` This delegates to This method can cache the (local, not children) descriptors so that their array will be modifiable (if there is a strong requirement to do so) We can cache them (as an optimization) `IItemPropertySource.getPropertyDescriptors`.
`java.lang.Object` `getPropertyValue(java.lang.Object propertyId)` This delegates to `IItemPropertyDescriptor.getPropertyValue`.
`boolean` `isPropertySet(java.lang.Object propertyId)` This delegates to `IItemPropertyDescriptor.isPropertySet`.
`protected IPropertyDescriptor` `newPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor)`
`void` `resetPropertyValue(java.lang.Object propertyId)` This delegates to `IItemPropertyDescriptor.resetPropertyValue`.
`void` `setCategory(java.lang.String category)` Sets the category.
`void` `setPropertyValue(java.lang.Object propertyId, java.lang.Object value)` This delegates to `IItemPropertyDescriptor.setPropertyValue`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### EMFCompositePropertySource

    protected EMFCompositePropertySource(java.lang.Object object,
                                         org.eclipse.emf.edit.provider.IItemPropertySource itemPropertySource)

  Constructs an instance of `EMFCompositePropertySource`

  Parameters:
    `object` -
    `itemPropertySource` -

### EMFCompositePropertySource

    public EMFCompositePropertySource(java.lang.Object object,
                                      org.eclipse.emf.edit.provider.IItemPropertySource itemPropertySource,
                                      java.lang.String category)

  Constructs an instance of `EMFCompositePropertySource`

  Parameters:
    `object` -
    `itemPropertySource` -
    `category` - category of the source - each descriptor inherits that

Method Detail

### addPropertySource

    public void addPropertySource(ICompositePropertySource source)

  Description copied from interface: `ICompositePropertySource`
  Add another composite property source to the linked list

  Specified by:
    `addPropertySource` in interface `ICompositePropertySource`
  Parameters:
    `source` - - a composite property source to be added to the linked list

### getLocalDescriptors

    protected java.util.Map getLocalDescriptors()

### getPropertyDescriptors

    public IPropertyDescriptor[] getPropertyDescriptors()

  This delegates to This method can cache the (local, not children) descriptors so that their array will be modifiable (if there is a strong requirement to do so) We can cache them (as an optimization) `IItemPropertySource.getPropertyDescriptors`.

  Specified by:
    `getPropertyDescriptors` in interface `IPropertySource`
  Overrides:
    `getPropertyDescriptors` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### getEditableValue

    public java.lang.Object getEditableValue()

  Specified by:
    `getEditableValue` in interface `IPropertySource`
  Overrides:
    `getEditableValue` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### createPropertyDescriptor

    protected IPropertyDescriptor createPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor)

  Overrides:
    `createPropertyDescriptor` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### newPropertyDescriptor

    protected IPropertyDescriptor newPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor)

### cacheDescriptor

    protected void cacheDescriptor(EMFCompositeSourcePropertyDescriptor d)

### getPropertyValue

    public java.lang.Object getPropertyValue(java.lang.Object propertyId)

  This delegates to `IItemPropertyDescriptor.getPropertyValue`.

  Specified by:
    `getPropertyValue` in interface `IPropertySource`
  Overrides:
    `getPropertyValue` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### isPropertySet

    public boolean isPropertySet(java.lang.Object propertyId)

  This delegates to `IItemPropertyDescriptor.isPropertySet`.

  Specified by:
    `isPropertySet` in interface `IPropertySource`
  Overrides:
    `isPropertySet` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### resetPropertyValue

    public void resetPropertyValue(java.lang.Object propertyId)

  This delegates to `IItemPropertyDescriptor.resetPropertyValue`.

  Specified by:
    `resetPropertyValue` in interface `IPropertySource`
  Overrides:
    `resetPropertyValue` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### getObject

    protected java.lang.Object getObject()

  Returns:
    - the object for wich the source is provideing properties

### setPropertyValue

    public void setPropertyValue(java.lang.Object propertyId,
                                 java.lang.Object value)

  This delegates to `IItemPropertyDescriptor.setPropertyValue`.

  Specified by:
    `setPropertyValue` in interface `IPropertySource`
  Overrides:
    `setPropertyValue` in class `org.eclipse.emf.edit.ui.provider.PropertySource`

### getCategory

    protected java.lang.String getCategory()

  Returns:
    Returns the category.

### setCategory

    public void setCategory(java.lang.String category)

  Sets the category.

  Parameters:
    `category` - the new category value

Runtime

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.