f4474e745f6866a54e1208ac10a94c5816aecf20
[shipsimu.git] / application / ship-simu / interfaces / class_Personellizer.php
1 <?php
2 /**
3  * An interface for all personells
4  *
5  * @author      Roland Haeder <roland __NOSPAM__ [at] __REMOVE_ME__ mxchange [dot] org>
6  * @version     0.1
7  */
8 interface Personellizer extends FrameworkInterface {
9           ///////////////////////
10          /// General methods ///
11         ///////////////////////
12
13         /**
14          * Remove min/max age
15          *
16          * @return      void
17          */
18         function removeMinMaxAge ();
19
20         /**
21          * Create a valid birthday
22          *
23          * @return void
24          */
25         function createBirthday ();
26
27         /**
28          * Verify if given year/month/day is a valid date combination
29          *
30          * @param               $year   4-digit year (valid  : 2007, 1946,
31          *                                                    invalid: 24, 2a, aa)
32          * @param               $month  1 to 2-digit month (range: 1 to 12)
33          * @param               $day            1 to 2-digit day (range: 1 to 31/30/29/28)
34          * @return      boolean true  = date is valid,
35          *                                      false = date is invalid
36          */
37         function isDateValid ($year, $month, $day);
38
39           /////////////////////////
40          //// Status requests ////
41         /////////////////////////
42
43         /**
44          * Is the person employed?
45          *
46          * @return      boolean true  = person is employed
47          *                                      false = person is umemployed
48          */
49         function isEmployed ();
50
51         /**
52          * Is the person married? (to which one doesn't matter here)
53          *
54          * @return      boolean true  = person is married
55          *                                      false = person is not married
56          */
57         function isMarried ();
58
59         /**
60          * Is the person a male?
61          *
62          * @return      boolean true  = person is male
63          *                                      false = person is not male (maybe female? ;-))
64          */
65         function isMale ();
66
67         /**
68          * Is the person a female?
69          *
70          * @return      boolean true  = person is female
71          *                                      false = person is not female (maybe male? ;-))
72          */
73         function isFemale ();
74
75           /////////////////
76          //// Getters ////
77         /////////////////
78
79         /**
80          * Getter for surname
81          *
82          * @return      $surname        The person's surname
83          */
84         function getSurname ();
85
86         /**
87          * Getter for family name
88          *
89          * @return      $family The person's family name
90          */
91         function getFamily ();
92
93         /**
94          * Getter for gender
95          *
96          * @return      $gender The person's gender (F/M)
97          */
98         function getGender ();
99
100         /**
101          * Getter for salary
102          *
103          * @return      $salary The person's current salary
104          */
105         function getSalary ();
106
107           /////////////////
108          //// Setters ////
109         /////////////////
110
111         /**
112          * Setter for surname
113          *
114          * @param               $surname        The person's new surname as a string
115          * @return      void
116          */
117         function setSurname ($surname);
118
119         /**
120          * Setter for family name
121          *
122          * @param               $family The person's new family name as a string
123          * @return      void
124          */
125         function setFamily ($family);
126
127         /**
128          * Setter for gender. Do not use this so often... ;-)
129          * This method shall only be used when the person is "created"
130          *
131          * @param               $gender The person's new gender as a 1-char string (M/F)
132          * @return      void
133          */
134         function setGender ($gender);
135
136         /**
137          * Setter for employment status
138          *
139          * @param               $employed       The person's new employment stats
140          * @return      void
141          */
142         function setEmployed ($employed);
143
144         /**
145          * Setter for marrital status
146          *
147          * @param               $married        The person's new marrital status
148          * @return      void
149          */
150         function setMarried ($married);
151
152         /**
153          * Setter for a already validated birthday.
154          *
155          * @param               $year   The person's new year-of-birth (4 digits)
156          * @param               $month  The person's new month-of-birth (1 to 2 digits)
157          * @param               $day            The person's new day-of-birth (1 to 2 digits)
158          * @return      void
159          */
160         function setBirthday ($year, $month, $day);
161
162           /////////////////////////////////////
163          //// Methods for changing salary ////
164         /////////////////////////////////////
165
166         /**
167          * Increase person's salary by a specified amount
168          *
169          * @param               $add            Add this float amount to current salary
170          * @return      void
171          */
172         function increaseSalary ($add);
173
174         /**
175          * Decrease person's salary by a specified amount
176          *
177          * @param               $sub            Subtract this float amount to current salary
178          * @return      void
179          */
180         function decreaseSalary ($sub);
181 }
182
183 // [EOF]
184 ?>