Skip to content

Commit bab2a8d

Browse files
committed
Refactoring
1 parent c7da29f commit bab2a8d

File tree

14 files changed

+79
-32
lines changed

14 files changed

+79
-32
lines changed

src/Core/JVM/DynamicAccessor.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?php
22
namespace PHPJava\Core\JVM;
33

4-
use PHPJava\Core\JavaClassInvoker;
54
use PHPJava\Core\JVM\Field\DynamicField;
65
use PHPJava\Core\JVM\Field\FieldInterface;
76
use PHPJava\Core\JVM\Invoker\DynamicMethodInvoker;
@@ -22,7 +21,7 @@ class DynamicAccessor implements AccessorInterface
2221
/**
2322
* @param PHPJava\Kernel\Structures\_MethodInfo[] $methods
2423
*/
25-
public function __construct(JavaClassInvoker $invoker, array $methods, array $fields, array $options = [])
24+
public function __construct(JavaClassInvokerInterface $invoker, array $methods, array $fields, array $options = [])
2625
{
2726
$this->methodAccessor = new DynamicMethodInvoker($invoker, $methods, $options);
2827
$this->fieldAccessor = new DynamicField($invoker, $fields);

src/Core/JVM/Field/DynamicField.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<?php
22
namespace PHPJava\Core\JVM\Field;
33

4-
use PHPJava\Core\JavaClassInvoker;
4+
use PHPJava\Core\JVM\JavaClassInvokerInterface;
55

66
class DynamicField implements FieldInterface
77
{
88
use FieldGettable;
99
use FieldSettable;
1010

1111
/**
12-
* @var JavaClassInvoker
12+
* @var JavaClassInvokerInterface
1313
*/
1414
private $javaClassInvoker;
1515

@@ -18,7 +18,7 @@ class DynamicField implements FieldInterface
1818
*/
1919
private $fields = [];
2020

21-
public function __construct(JavaClassInvoker $javaClassInvoker, array $fields)
21+
public function __construct(JavaClassInvokerInterface $javaClassInvoker, array $fields)
2222
{
2323
$this->javaClassInvoker = $javaClassInvoker;
2424
$this->fields = $fields;

src/Core/JVM/Field/FieldInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?php
22
namespace PHPJava\Core\JVM\Field;
33

4-
use PHPJava\Core\JavaClassInvoker;
4+
use PHPJava\Core\JVM\JavaClassInvokerInterface;
55

66
interface FieldInterface
77
{
8-
public function __construct(JavaClassInvoker $javaClassInvoker, array $fields);
8+
public function __construct(JavaClassInvokerInterface $javaClassInvoker, array $fields);
99

1010
public function get(string $name);
1111

src/Core/JVM/Field/StaticField.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<?php
22
namespace PHPJava\Core\JVM\Field;
33

4-
use PHPJava\Core\JavaClassInvoker;
4+
use PHPJava\Core\JVM\JavaClassInvokerInterface;
55

66
class StaticField implements FieldInterface
77
{
88
use FieldGettable;
99
use FieldSettable;
1010

1111
/**
12-
* @var JavaClassInvoker
12+
* @var JavaClassInvokerInterface
1313
*/
1414
private $javaClassInvoker;
1515

@@ -18,7 +18,7 @@ class StaticField implements FieldInterface
1818
*/
1919
private $fields = [];
2020

21-
public function __construct(JavaClassInvoker $javaClassInvoker, array $fields)
21+
public function __construct(JavaClassInvokerInterface $javaClassInvoker, array $fields)
2222
{
2323
$this->javaClassInvoker = $javaClassInvoker;
2424
$this->fields = $fields;

src/Core/JVM/Invoker/Invoker.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
namespace PHPJava\Core\JVM\Invoker;
33

44
use PHPJava\Core\JavaClassInvoker;
5+
use PHPJava\Core\JVM\JavaClassInvokerInterface;
56
use PHPJava\Kernel\Structures\_MethodInfo;
67
use PHPJava\Utilities\DebugTool;
78

@@ -36,7 +37,7 @@ class Invoker implements InvokerInterface
3637
/**
3738
* @param _MethodInfo[] $methods
3839
*/
39-
public function __construct(JavaClassInvoker $javaClassInvoker, array $methods, array $options = [])
40+
public function __construct(JavaClassInvokerInterface $javaClassInvoker, array $methods, array $options = [])
4041
{
4142
$this->javaClassInvoker = $javaClassInvoker;
4243
$this->methods = $methods;

src/Core/JVM/Invoker/InvokerInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<?php
22
namespace PHPJava\Core\JVM\Invoker;
33

4-
use PHPJava\Core\JavaClassInvoker;
4+
use PHPJava\Core\JVM\JavaClassInvokerInterface;
55

66
interface InvokerInterface
77
{
88
/**
99
* @param PHPJava\Kernel\Structures\_MethodInfo[] $methods
1010
*/
11-
public function __construct(JavaClassInvoker $javaClassInvoker, array $methods);
11+
public function __construct(JavaClassInvokerInterface $javaClassInvoker, array $methods);
1212

1313
public function call(string $name, ...$arguments);
1414

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<?php
2-
namespace PHPJava\Core;
2+
namespace PHPJava\Core\JVM;
33

4-
use PHPJava\Core\JVM\DynamicAccessor;
5-
use PHPJava\Core\JVM\StaticAccessor;
4+
use PHPJava\Core\JavaClassInterface;
65
use PHPJava\Exceptions\IllegalJavaClassException;
76
use PHPJava\Kernel\Maps\FieldAccessFlag;
87
use PHPJava\Kernel\Maps\MethodAccessFlag;
@@ -11,10 +10,10 @@
1110
use PHPJava\Kernel\Structures\_MethodInfo;
1211
use PHPJava\Utilities\Normalizer;
1312

14-
class JavaClassInvoker
13+
class JavaClassInvoker implements JavaClassInvokerInterface
1514
{
1615
/**
17-
* @var JavaClass
16+
* @var JavaClassInterface
1817
*/
1918
private $javaClass;
2019

@@ -64,7 +63,7 @@ class JavaClassInvoker
6463
private $providers = [];
6564

6665
public function __construct(
67-
JavaClass $javaClass,
66+
JavaClassInterface $javaClass,
6867
array $options
6968
) {
7069
$this->javaClass = $javaClass;
@@ -119,7 +118,7 @@ public function __construct(
119118
/**
120119
* @return JavaClassInvoker
121120
*/
122-
public function construct(...$arguments): self
121+
public function construct(...$arguments): JavaClassInvokerInterface
123122
{
124123
$this->dynamicAccessor = new DynamicAccessor(
125124
$this,
@@ -139,17 +138,17 @@ public function construct(...$arguments): self
139138
return $this;
140139
}
141140

142-
public function getJavaClass(): JavaClass
141+
public function getJavaClass(): JavaClassInterface
143142
{
144143
return $this->javaClass;
145144
}
146145

147-
public function getDynamic(): DynamicAccessor
146+
public function getDynamic(): AccessorInterface
148147
{
149148
return $this->dynamicAccessor;
150149
}
151150

152-
public function getStatic(): StaticAccessor
151+
public function getStatic(): AccessorInterface
153152
{
154153
$this->staticAccessor
155154
->getMethods()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
namespace PHPJava\Core\JVM;
3+
4+
use PHPJava\Core\JavaClassInterface;
5+
use PHPJava\Kernel\Provider\ProviderInterface;
6+
7+
interface JavaClassInvokerInterface
8+
{
9+
public function __construct(JavaClassInterface $javaClass, array $options);
10+
11+
public function getJavaClass(): JavaClassInterface;
12+
13+
public function construct(...$arguments): JavaClassInvokerInterface;
14+
15+
/**
16+
* @return AccessorInterface|DynamicAccessor
17+
*/
18+
public function getDynamic(): AccessorInterface;
19+
20+
/**
21+
* @return AccessorInterface|StaticAccessor
22+
*/
23+
public function getStatic(): AccessorInterface;
24+
25+
public function getProvider(string $providerName): ProviderInterface;
26+
}

src/Core/JVM/StaticAccessor.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?php
22
namespace PHPJava\Core\JVM;
33

4-
use PHPJava\Core\JavaClassInvoker;
54
use PHPJava\Core\JVM\Field\FieldInterface;
65
use PHPJava\Core\JVM\Field\StaticField;
76
use PHPJava\Core\JVM\Invoker\InvokerInterface;
@@ -22,7 +21,7 @@ class StaticAccessor implements AccessorInterface
2221
/**
2322
* @param PHPJava\Kernel\Structures\_MethodInfo[] $methods
2423
*/
25-
public function __construct(JavaClassInvoker $invoker, array $methods, array $fields, array $options = [])
24+
public function __construct(JavaClassInvokerInterface $invoker, array $methods, array $fields, array $options = [])
2625
{
2726
$this->methodAccessor = new StaticMethodInvoker($invoker, $methods, $options);
2827
$this->fieldAccessor = new StaticField($invoker, $fields);

src/Core/JavaClass.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use PHPJava\Core\JVM\ConstantPool;
66
use PHPJava\Core\JVM\FieldPool;
77
use PHPJava\Core\JVM\InterfacePool;
8+
use PHPJava\Core\JVM\JavaClassInvoker;
89
use PHPJava\Core\JVM\MethodPool;
910
use PHPJava\Core\JVM\Validations\MagicByte;
1011
use PHPJava\Core\Stream\Reader\ReaderInterface;

0 commit comments

Comments
 (0)