Merge pull request #15595 from eileenmcnaughton/dedupe3
[civicrm-core.git] / Civi / Api4 / Generic / DAOEntity.php
CommitLineData
19b53e5b
C
1<?php
2
380f3545
TO
3/*
4 +--------------------------------------------------------------------+
5 | CiviCRM version 5 |
6 +--------------------------------------------------------------------+
f299f7db 7 | Copyright CiviCRM LLC (c) 2004-2020 |
380f3545
TO
8 +--------------------------------------------------------------------+
9 | This file is a part of CiviCRM. |
10 | |
11 | CiviCRM is free software; you can copy, modify, and distribute it |
12 | under the terms of the GNU Affero General Public License |
13 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | |
15 | CiviCRM is distributed in the hope that it will be useful, but |
16 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. |
19 | |
20 | You should have received a copy of the GNU Affero General Public |
21 | License and the CiviCRM Licensing Exception along |
22 | with this program; if not, contact CiviCRM LLC |
23 | at info[AT]civicrm[DOT]org. If you have questions about the |
24 | GNU Affero General Public License or the licensing of CiviCRM, |
25 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
26 +--------------------------------------------------------------------+
27 */
28
29/**
30 *
31 * @package CRM
f299f7db 32 * @copyright CiviCRM LLC (c) 2004-2020
380f3545
TO
33 * $Id$
34 *
35 */
36
37
19b53e5b
C
38namespace Civi\Api4\Generic;
39
40/**
41 * Base class for DAO-based entities.
42 */
43abstract class DAOEntity extends AbstractEntity {
44
45 /**
46 * @return DAOGetAction
47 */
48 public static function get() {
49 return new DAOGetAction(static::class, __FUNCTION__);
50 }
51
52 /**
53 * @return DAOGetAction
54 */
55 public static function save() {
56 return new DAOSaveAction(static::class, __FUNCTION__);
57 }
58
59 /**
60 * @return DAOGetFieldsAction
61 */
62 public static function getFields() {
63 return new DAOGetFieldsAction(static::class, __FUNCTION__);
64 }
65
66 /**
67 * @return DAOCreateAction
68 */
69 public static function create() {
70 return new DAOCreateAction(static::class, __FUNCTION__);
71 }
72
73 /**
74 * @return DAOUpdateAction
75 */
76 public static function update() {
77 return new DAOUpdateAction(static::class, __FUNCTION__);
78 }
79
80 /**
81 * @return DAODeleteAction
82 */
83 public static function delete() {
84 return new DAODeleteAction(static::class, __FUNCTION__);
85 }
86
87 /**
88 * @return BasicReplaceAction
89 */
90 public static function replace() {
91 return new BasicReplaceAction(static::class, __FUNCTION__);
92 }
93
94}