Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3/**
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; under version 2
7 * of the License (non-upgradable).
8 *
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 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17 *
18 * Copyright (c) 2018 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
19 */
20
21namespace oat\tao\model\import\service;
22
23interface ImportMapperInterface
24{
25    public const OPTION_SCHEMA = 'schema';
26    public const OPTION_SCHEMA_MANDATORY = 'mandatory';
27    public const OPTION_SCHEMA_OPTIONAL = 'optional';
28
29    /**
30     * Map CSV column to user properties
31     *
32     * @param array $data
33     * @throws \Exception
34     * @return ImportMapperInterface
35     */
36    public function map(array $data = []);
37
38    /**
39     * Merge some $extraProperties to already mapped properties
40     *
41     * @param array $extraProperties
42     * @return ImportMapperInterface
43     */
44    public function combine(array $extraProperties);
45
46    /**
47     * Check is current mapper achieve to extract data
48     *
49     * @return bool
50     */
51    public function isEmpty();
52
53    /**
54     * Get user mapped properties
55     *
56     * @return array
57     */
58    public function getProperties();
59
60    /**
61     * @param $option
62     * @return mixed
63     */
64    public function getOption($option);
65
66    /**
67     * @return \common_report_Report|null
68     */
69    public function getReport();
70}