Skip to content

Commit d34407e

Browse files
committed
preventing overridding some methods and classes using final
1 parent 8beba97 commit d34407e

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

src/EntityTrait.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ trait EntityTrait
1414
{
1515
use ObjectTrait;
1616

17-
public function __construct(Model $model, string $id, ?stdClass $data = null)
17+
final public function __construct(Model $model, string $id, ?stdClass $data = null)
1818
{
1919
$this->model = $model;
2020
$this->data = $data;
@@ -24,7 +24,7 @@ public function __construct(Model $model, string $id, ?stdClass $data = null)
2424
$this->data->id = $id;
2525
}
2626

27-
public function __set($name, $value) : void
27+
final public function __set($name, $value) : void
2828
{
2929
if ($name === 'id') {
3030
throw new OverridingIdentityOfEntityException('You can not change the "id" of an entity!');
@@ -35,12 +35,12 @@ public function __set($name, $value) : void
3535
$this->data->{$name} = $value;
3636
}
3737

38-
public function __unset($name)
38+
final public function __unset($name)
3939
{
4040
unset($this->data->{$name});
4141
}
4242

43-
public static function createFromJsonFile(string $jsonFilePath, string $id) : EntityInterface
43+
final public static function createFromJsonFile(string $jsonFilePath, string $id) : EntityInterface
4444
{
4545
if (!file_exists($jsonFilePath)) {
4646
throw new CouldNotFindJSONSchemaFileException(
@@ -51,17 +51,17 @@ public static function createFromJsonFile(string $jsonFilePath, string $id) : En
5151
return self::createFromJson($json, $id);
5252
}
5353

54-
public static function createFromJson(string $json, string $id) : EntityInterface
54+
final public static function createFromJson(string $json, string $id) : EntityInterface
5555
{
56-
return new self(new Model($json), $id);
56+
return new static(new Model($json), $id);
5757
}
5858

59-
public function entityId() : string
59+
final public function entityId() : string
6060
{
6161
return $this->data->id;
6262
}
6363

64-
public function validatePartially(array $requiredFields) : bool
64+
final public function validatePartially(array $requiredFields) : bool
6565
{
6666
$model = $this->model->getModel();
6767
$model->required = $requiredFields;

src/ObjectTrait.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ trait ObjectTrait
1919
*/
2020
private $data;
2121

22-
public function __get($name)
22+
final public function __get($name)
2323
{
2424
return $this->data->{$name};
2525
}
2626

27-
public function __isset($name) : bool
27+
final public function __isset($name) : bool
2828
{
2929
return property_exists($this->data, $name);
3030
}
@@ -60,7 +60,7 @@ public function equals($rightHandedObject) : bool
6060
return (string) json_encode($this->data) === (string) json_encode($rightHandedObject);
6161
}
6262

63-
public function jsonSerialize() : stdClass
63+
final public function jsonSerialize() : stdClass
6464
{
6565
return $this->data;
6666
}

src/ValueObjectBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Selami\Entity\Exception\InvalidMethodNameException;
1010
use function in_array;
1111

12-
class ValueObjectBuilder
12+
final class ValueObjectBuilder
1313
{
1414
private $jsonSchema;
1515
private $properties;

src/ValueObjectTrait.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ trait ValueObjectTrait
1212
{
1313
use ObjectTrait;
1414

15-
public function __construct(Model $model, stdClass $data)
15+
final public function __construct(Model $model, stdClass $data)
1616
{
1717
$this->model = $model;
1818
$this->data = $data;
@@ -29,7 +29,7 @@ final public function __unset($name)
2929
throw new BadMethodCallException('Can\'t manipulate Immutable Object');
3030
}
3131

32-
public static function createFromJsonFile(string $filePath, stdClass $data) : ValueObjectInterface
32+
final public static function createFromJsonFile(string $filePath, stdClass $data) : ValueObjectInterface
3333
{
3434
if (!file_exists($filePath)) {
3535
throw new InvalidArgumentException(sprintf('Model definition file (%s) does not exist!', $filePath));
@@ -38,8 +38,8 @@ public static function createFromJsonFile(string $filePath, stdClass $data) : Va
3838
return self::createFromJson($json, $data);
3939
}
4040

41-
public static function createFromJson(string $json, stdClass $data) : ValueObjectInterface
41+
final public static function createFromJson(string $json, stdClass $data) : ValueObjectInterface
4242
{
43-
return new self(new Model($json), $data);
43+
return new static(new Model($json), $data);
4444
}
4545
}

0 commit comments

Comments
 (0)