# Transfer Adapter Providers Extension Point

###### Identifier:

org.eclipse.gmf.runtime.common.ui.services.dnd.transferAdapterProviders

###### Description:

This extension point is used to register transfer adapters for drag and drop operations. This extension point facilitates the configuration of providers for the transfer adapter service (`org.eclipse.gmf.runtime.common.ui.services.dnd.core.TransferAdapterService`). The providers register adapters for drag and drop operations on specific transfer ids.

###### Configuration Markup:

<!ELEMENT extension (TransferAdapterProvider)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - The identifier of the extension point, i.e. `org.eclipse.gmf.runtime.common.ui.services.dnd.transferAdapterProviders`
- id - The identifier of the extension, e.g. transferAdapterProviders.
- name - The name of the extension, e.g. %ext.transferAdapterProviders.

<!ELEMENT TransferAdapterProvider (Priority , AdapterType+)>

<!ATTLIST TransferAdapterProvider

id CDATA #REQUIRED

class CDATA #REQUIRED>

- id - The identifier of the provider, e.g. my_transferAdapterProvider.
- class - The provider class. Providers implement service functionality (operations).

<!ELEMENT Priority EMPTY>

<!ATTLIST Priority

name (Lowest|Low|Medium|High|Highest) >

- name - The name of the provider priority, i.e. Lowest, Low, Medium, High, or Highest.

<!ELEMENT AdapterType (TransferId+)>

<!ATTLIST AdapterType

operation (drag|drop) >

- operation - The adapter type being registered, e.g. `drag or drop`

<!ELEMENT TransferId EMPTY>

<!ATTLIST TransferId

id CDATA #REQUIRED>

- id - The unique transfer id for the transfer agent, e.g. `customDataTransfer`

###### Examples:

The following is an example of the transfer adapter provider extension:

    <extension
          id="dragDropListenerProviders"
          name="%ext.dragDropListenerProviders"
          point="org.eclipse.gmf.runtime.common.ui.services.dnd.dragDropListenerProviders">
          <DragDropListenerProvider
             class="org.eclipse.test.project.ui.internal.providers.dnd.MyExplorerDragDropListenerProvider"
             id="myexplorerDragDropListenerProvider">
             <Priority
                name="Lowest">
             </Priority>
             <ViewId
                id="org.eclipse.test.modeler.ui.views.MyExplorer">
               <ElementType
                  class="org.eclipse.test.project.ui.internal.providers.explorer.MyElement">
                 <OperationType
                    operation="drag">
                   <TransferId
                      transferId="selection">
                   </TransferId>
                   <TransferId
                      transferId="customData">
                   </TransferId>
                   <TransferId
                      transferId="file">
                   </TransferId>
                   <TransferId
                      transferId="text">
                   </TransferId>
                   <TransferId
                      transferId="richText">
                   </TransferId>
                 </OperationType>
                 <OperationType
                    operation="drop">
                   <TransferId
                      transferId="selection">
                   </TransferId>
                   <TransferId
                      transferId="customData">
                   </TransferId>
                 </OperationType>
               </ElementType>
             </ViewId>
          </DragDropListenerProvider>
       </extension>

Copyright (c) 2003, 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