xref: /webtrees/app/Census/CensusColumnSexM.php (revision e873f434551745f888937263ff89e80db3b0f785)
1da3cb887Sglarwill<?php
2da3cb887Sglarwill
3da3cb887Sglarwill/**
4da3cb887Sglarwill * webtrees: online genealogy
5d11be702SGreg Roach * Copyright (C) 2023 webtrees development team
6da3cb887Sglarwill * This program is free software: you can redistribute it and/or modify
7da3cb887Sglarwill * it under the terms of the GNU General Public License as published by
8da3cb887Sglarwill * the Free Software Foundation, either version 3 of the License, or
9da3cb887Sglarwill * (at your option) any later version.
10da3cb887Sglarwill * This program is distributed in the hope that it will be useful,
11da3cb887Sglarwill * but WITHOUT ANY WARRANTY; without even the implied warranty of
12da3cb887Sglarwill * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13da3cb887Sglarwill * GNU General Public License for more details.
14da3cb887Sglarwill * You should have received a copy of the GNU General Public License
15da3cb887Sglarwill * along with this program. If not, see <https://www.gnu.org/licenses/>.
16da3cb887Sglarwill */
17da3cb887Sglarwill
18da3cb887Sglarwilldeclare(strict_types=1);
19da3cb887Sglarwill
20da3cb887Sglarwillnamespace Fisharebest\Webtrees\Census;
21da3cb887Sglarwill
22da3cb887Sglarwilluse Fisharebest\Webtrees\Individual;
23da3cb887Sglarwill
24da3cb887Sglarwill/**
25da3cb887Sglarwill * The individual's sex Male?
26da3cb887Sglarwill */
27da3cb887Sglarwillclass CensusColumnSexM extends AbstractCensusColumn implements CensusColumnInterface
28da3cb887Sglarwill{
29*e873f434SGreg Roach    protected const string MALE = 'M';
30da3cb887Sglarwill
31*e873f434SGreg Roach    protected const string FEMALE = 'F';
32da3cb887Sglarwill
33*e873f434SGreg Roach    protected const string X = 'X';
34da3cb887Sglarwill
35da3cb887Sglarwill    /**
36da3cb887Sglarwill     * Generate the likely value of this census column, based on available information.
37da3cb887Sglarwill     * X is the value returned for this column as it is a selection of F column or M
38da3cb887Sglarwill     * column.
39da3cb887Sglarwill     *
40da3cb887Sglarwill     * @param Individual $individual
41da3cb887Sglarwill     * @param Individual $head
42da3cb887Sglarwill     *
43da3cb887Sglarwill     * @return string
44da3cb887Sglarwill     */
45da3cb887Sglarwill    public function generate(Individual $individual, Individual $head): string
46da3cb887Sglarwill    {
4705babb96SGreg Roach        if ($individual->sex() === 'M') {
48da3cb887Sglarwill            return static::X;
49da3cb887Sglarwill        }
5005babb96SGreg Roach
5105babb96SGreg Roach        return '';
52da3cb887Sglarwill    }
53da3cb887Sglarwill}
54