KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > beehive > controls > api > versioning > VersionRequired


1 package org.apache.beehive.controls.api.versioning;
2 /*
3  * Copyright 2004 The Apache Software Foundation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * $Header:$
18  */

19
20 import java.lang.annotation.ElementType JavaDoc;
21 import java.lang.annotation.Retention JavaDoc;
22 import java.lang.annotation.RetentionPolicy JavaDoc;
23 import java.lang.annotation.Target JavaDoc;
24
25 /**
26  * Specifies the minimum version of the control interface that this extension
27  * requires. Allowed on control extensions (interfaces annotated with
28  * <sp>@ControlExtension), and on control field declarations (fields annotated
29  * with @Control). The version requirement is enforced at compile time of
30  * extensions and control client, and at runtime when the appropriate control
31  * bean is classloaded.
32  */

33 @Retention JavaDoc(RetentionPolicy.RUNTIME)
34 @Target JavaDoc({ElementType.TYPE, ElementType.FIELD})
35 public @interface VersionRequired
36 {
37     /**
38      * The major version value required for this control extension or instance
39      * declaration to work. Any version number greater than or equal to this
40      * value will suffice, implying that this requirement is valid only when
41      * back compatibility is part of the contract when increasing the version
42      * number. Negative values mean that any major version is
43      * acceptable (in which case this annotation should probably just not be
44      * present).
45      */

46     int major();
47
48     /**
49      * The minor version value required for this control extension or instance
50      * declaration to work. Any version number greater than or equal to this
51      * value will suffice. Negative values mean that any minor version is
52      * acceptable (the default case).
53      */

54     int minor() default -1;
55 }
56
Popular Tags