# OT/Equinox negotiators for aspect binding requests

###### Identifier:

org.eclipse.objectteams.otequinox.aspectBindingNegotiators

###### Since:

OTDT 1.2.6

###### Description:

Allow client plugins to participate in negotiation whether aspect binding requests (incl. forced exports) should be denied or granted.

All extensions will be asked whenever an aspect plugin requests an aspect binding or a forced export for which no permission could be found in persistent storage of neither the eclipse installation nor the workspace.

- As soon as any extension DENYs a given request this aspect plugin is blocked.
- If no extension GRANTs the request the aspect plugin is blocked, too.
- Only if at least one extension GRANTs the request and no extension DENYs the aspect may proceed and will be woven into its base entities.

###### Configuration Markup:

<!ELEMENT extension (negotiator+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT negotiator EMPTY>

<!ATTLIST negotiator

class CDATA #REQUIRED>

A participant in the protocol for aspect binding negotiation, which is able to grant or deny a request by an aspect bundle.

- class - Fully qualified name of the class that shall participate in the negotiation protocol.

###### Examples:

Example of a declaration of a `negotiator`:

    <?xml version="1.0" encoding="UTF-8"?>
    <?eclipse version="3.2"?>
    <plugin>
       <extension
             point="org.eclipse.objectteams.otequinox.aspectBindingNegotiators">
          <negotiator
                class="yesser.AspectRequestGranter">
          </negotiator>
       </extension>
    </plugin>

###### API Information:

The class named in the `class` property must implement the `org.eclipse.objectteams.otequinox.IAspectRequestNegotiator` interface.

This file is part of "Object Teams Development Tooling"-Software

Copyright 2009 Technical University Berlin, Germany. 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

Please visit www.eclipse.org/objectteams for updates and contact.

Contributors:
Technical University Berlin - Initial API and implementation