Completed
Pull Request — 4.2 (#130)
by Jean-Baptiste
04:47
created

TDBMCyclicReferenceException   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 12
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 1
dl 0
loc 12
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A createCyclicReference() 0 4 1
A extendCyclicReference() 0 4 1
1
<?php
2
3
namespace Mouf\Database\TDBM;
4
5
class TDBMCyclicReferenceException extends TDBMException
6
{
7
    public static function createCyclicReference(string $tableName, AbstractTDBMObject $object) : TDBMCyclicReferenceException
8
    {
9
        return new self(sprintf("You are trying a grape of objects that reference each other. Unable to save object '%s' in table '%s'. It is already in the process of being saved.", get_class($object), $tableName));
10
    }
11
12
    public static function extendCyclicReference(TDBMCyclicReferenceException $e, string $tableName, AbstractTDBMObject $object, string $fkName) : TDBMCyclicReferenceException
13
    {
14
        return new self($e->getMessage().sprintf(" This object is referenced by an object of type '%s' (table '%s') via foreign key '%s'", get_class($object), $tableName, $fkName), $e->getCode(), $e);
15
    }
16
}
17