Controls Versioning Model

Overview

There are important use cases for controls where the various related artifacts (interfaces, extensions, implementations) are developed by different people/organizations, and as those artifacts evolve over time it becomes useful to be able to specify versioning information and require certain version values. The controls programming model features a number of annotations to support this.

Defining a Version

package org.apache.beehive.controls.api.versioning;

public @inteface Version
{
    int major();
    int minor() default 0;
}

The @V'*_ersion annotation:

Specifying Version Restrictions/Requirements

package org.apache.beehive.controls.api.versioning;

public @interface VersionRequired
{
    int major;
    int minor default -1;
}

The @V'*_ersionRequired annotation:

public @interface VersionSupported
{
    int major;
    int minor default -1;
}

The @V_*'ersionSupported annotation:

Open Issues