KickJava   Java API By Example, From Geeks To Geeks.

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


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 maximum version of the control interface that this implementation
27  * supports. Allowed on control implementations (interfaces annotated with
28  * <sp>@ControlImplementation). This version requirement is enforced at compile time
29  * of the implementation, and at runtime when the implementation is classloaded.
30  */

31 @Retention JavaDoc(RetentionPolicy.RUNTIME)
32 @Target JavaDoc({ElementType.TYPE})
33 public @interface VersionSupported
34 {
35     /**
36      * The major version of the control interface that this implementation
37      * supports. Any version number less than or equal to this value will suffice,
38      * implying that this constraint is only valid when backwards compatibility
39      * is part of the contract when increasing the version number. Negative
40      * values mean that any major version is acceptable (in which case this
41      * annotation should probably just not be
42      * present).
43      */

44     int major();
45
46     /**
47      * The minor version of the control interface that this implementation
48      * supports. Any version number less than or equal to this value will suffice.
49      * Negative values mean that any minor version is acceptable (the default case).
50      */

51     int minor() default -1;
52 }
53
Popular Tags