/**
* Extension API for 3rd party components.
* <p>
* Design mission is complete detachment between extension
* implementation and core product.
* </p>
* <p>
* Key players:
* </p>
* <ul>
* <li>{@link org.ovirt.engine.api.extensions.ExtMap} - Type safe key/value map as a base to exchange information.</li>
* <li>{@link org.ovirt.engine.api.extensions.ExtKey} - ExtMap key, it bundles UUID and type.</li>
* <li>{@link org.ovirt.engine.api.extensions.Extension#invoke} - Command invocation.</li>
* </ul>
* <p>
* Both core and extension should access only keys that are known, ignore any other keys.
* Extension can assume that context is kept throughout the extension life cycle.
* </p>
*/
package org.ovirt.engine.api.extensions;