1: <?php
2: /**
3: * PHP Token Reflection
4: *
5: * Version 1.3.1
6: *
7: * LICENSE
8: *
9: * This source file is subject to the new BSD license that is bundled
10: * with this library in the file LICENSE.
11: *
12: * @author Ondřej Nešpor
13: * @author Jaroslav Hanslík
14: */
15:
16: namespace TokenReflection;
17:
18: /**
19: * Common reflection property interface.
20: */
21: interface IReflectionProperty extends IReflection
22: {
23: /**
24: * Returns a reflection of the declaring class.
25: *
26: * @return \TokenReflection\IReflectionClass
27: */
28: public function getDeclaringClass();
29:
30: /**
31: * Returns the name of the declaring class.
32: *
33: * @return string
34: */
35: public function getDeclaringClassName();
36:
37: /**
38: * Returns the definition start line number in the file.
39: *
40: * @return integer
41: */
42: public function getStartLine();
43:
44: /**
45: * Returns the definition end line number in the file.
46: *
47: * @return integer
48: */
49: public function getEndLine();
50:
51: /**
52: * Returns the appropriate docblock definition.
53: *
54: * @return string|boolean
55: */
56: public function getDocComment();
57:
58: /**
59: * Returns the property default value.
60: *
61: * @return mixed
62: */
63: public function getDefaultValue();
64:
65: /**
66: * Returns the part of the source code defining the property default value.
67: *
68: * @return string
69: */
70: public function getDefaultValueDefinition();
71:
72: /**
73: * Returns the property value for a particular class instance.
74: *
75: * @param object $object
76: * @return mixed
77: */
78: public function getValue($object);
79:
80: /**
81: * Returns property modifiers.
82: *
83: * @return integer
84: */
85: public function getModifiers();
86:
87: /**
88: * Returns if the property is private.
89: *
90: * @return boolean
91: */
92: public function isPrivate();
93:
94: /**
95: * Returns if the property is protected.
96: *
97: * @return boolean
98: */
99: public function isProtected();
100:
101: /**
102: * Returns if the property is public.
103: *
104: * @return boolean
105: */
106: public function isPublic();
107:
108: /**
109: * Returns if the property is static.
110: *
111: * @return boolean
112: */
113: public function isStatic();
114:
115: /**
116: * Returns if the property was defined at compile time.
117: *
118: * @return boolean
119: */
120: public function isDefault();
121:
122: /**
123: * Sets a property to be accessible or not.
124: *
125: * @param boolean $accessible If the property should be accessible.
126: */
127: public function setAccessible($accessible);
128:
129: /**
130: * Returns if the property is set accessible.
131: *
132: * @return boolean
133: */
134: public function isAccessible();
135:
136: /**
137: * Sets value of a property for a particular class instance.
138: *
139: * @param object $object Class instance
140: * @param mixed $value Poperty value
141: */
142: public function setValue($object, $value);
143:
144: /**
145: * Returns the string representation of the reflection object.
146: *
147: * @return string
148: */
149: public function __toString();
150:
151: /**
152: * Returns the defining trait.
153: *
154: * @return \TokenReflection\IReflectionClass|null
155: */
156: public function getDeclaringTrait();
157:
158: /**
159: * Returns the declaring trait name.
160: *
161: * @return string|null
162: */
163: public function getDeclaringTraitName();
164:
165: /**
166: * Returns if the property is deprecated.
167: *
168: * @return boolean
169: */
170: public function isDeprecated();
171: }
172: