root/trunk/src/main/php/net/stubbles/reflection/annotations/stubAnnotation.php

Revision 1227, 1.7 kB (checked in by mikey, 4 months ago)

continued refactoring #119: replaced package dots in net::stubbles::reflection

Line 
1 <?php
2 /**
3  * Interface for an annotation.
4  *
5  * @author      Frank Kleine <mikey@stubbles.net>
6  * @package     stubbles
7  * @subpackage  reflection_annotations
8  */
9 stubClassLoader::load('net::stubbles::lang::stubClonable');
10 /**
11  * Interface for an annotation.
12  *
13  * @package     stubbles
14  * @subpackage  reflection_annotations
15  */
16 interface stubAnnotation extends stubSerializable, stubClonable
17 {
18     /**
19      * annotation is applicable for classes
20      */
21     const TARGET_CLASS    = 1;
22     /**
23      * annotation is applicable for properties
24      */
25     const TARGET_PROPERTY = 2;
26     /**
27      * annotation is applicable for methods
28      */
29     const TARGET_METHOD   = 4;
30     /**
31      * annotation is applicable for functions
32      */
33     const TARGET_FUNCTION = 8;
34     /**
35      * annotation is applicable for parameters
36      */
37     const TARGET_PARAM    = 16;
38     /**
39      * annotation is applicable for classes, properties, methods and functions
40      */
41     const TARGET_ALL      = 31;
42
43     /**
44      * Sets the name under which the annotation is stored.
45      *
46      * @param  string  $name
47      */
48     public function setAnnotationName($name);
49
50     /**
51      * Returns the name under which the annotation is stored.
52      *
53      * @return  string
54      */
55     public function getAnnotationName();
56
57     /**
58      * Returns the target of the annotation as bitmap.
59      *
60      * @return  int
61      */
62     public function getAnnotationTarget();
63
64     /**
65      * do some last operations after all values have been set
66      *
67      * This method may check if all required values have been set and throw
68      * an exception if values are missing.
69      *
70      * @throws  ReflectionException
71      */
72     public function finish();
73 }
74 ?>
Note: See TracBrowser for help on using the browser.