KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > beehive > controls > api > bean > ControlInterface


1 package org.apache.beehive.controls.api.bean;
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  * The ControlInterface annotation type is used to annotate a control public interface.
27  */

28 @Retention JavaDoc(RetentionPolicy.RUNTIME)
29 @Target JavaDoc({ElementType.TYPE})
30 public @interface ControlInterface
31 {
32     /**
33      * Placeholder string used in defaultBinding attr. Tools and runtime should replace
34      * instances of INTERFACE_NAME found in values of defaultBinding with the fully
35      * qualified name of the interface annotated with @ControlInterface.
36      */

37     static final String JavaDoc INTERFACE_NAME = "<InterfaceName>";
38
39     /**
40      * Specify the fully qualified name of the control implementation for this control interface.
41      * If no value is specified the implementation will be the name of the interface with 'Impl' appended.
42      * */

43     String JavaDoc defaultBinding() default INTERFACE_NAME + "Impl";
44
45     /**
46      * @deprecated Replaced by checker() element.
47      */

48     Class JavaDoc<? extends ControlChecker> checkerClass() default DefaultControlChecker.class;
49
50     /**
51      * Used by control authors wishing to enforce rich semantic validation on extension and field
52      * instance declarations of their controls. By supplying a ControlChecker implementation
53      * (a "checker") and associating it with your control's public interface, when an
54      * extension of your control is processed at build-time, the checker will be invoked and
55      * can do rich validation of the extension type and field instances via introspection and
56      * analysis of the control extension's type structure, signatures and annotations.
57      * @see org.apache.beehive.controls.api.bean.ControlChecker
58      */

59     Class JavaDoc<? extends ControlChecker> checker() default DefaultControlChecker.class;
60 }
61
Popular Tags