xref: /webtrees/app/Census/CensusColumnInterface.php (revision ef21b467575956631eb5374fe4f2bfb94e69aaa9)
1<?php
2/**
3 * webtrees: online genealogy
4 * Copyright (C) 2015 webtrees development team
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16namespace Fisharebest\Webtrees\Census;
17
18use Fisharebest\Webtrees\Date;
19use Fisharebest\Webtrees\Individual;
20
21/**
22 * Definitions for a census column
23 */
24interface CensusColumnInterface {
25	/**
26	 * A short version of the column's name.
27	 *
28	 * @return string
29	 */
30	public function abbreviation();
31
32	/**
33	 * When did this census occur
34	 *
35	 * @return Date
36	 */
37	public function date();
38
39	/**
40	 * Generate the likely value of this census column, based on available information.
41	 *
42	 * @param Individual $individual
43	 *
44	 * @return string
45	 */
46	public function generate(Individual $individual);
47
48	/**
49	 * Where did this census occur
50	 *
51	 * @return string
52	 */
53	public function place();
54
55	/**
56	 * The full version of the column's name.
57	 *
58	 * @return string
59	 */
60	public function title();
61}
62