Palette   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 19
dl 0
loc 33
ccs 21
cts 21
cp 1
rs 10
c 1
b 0
f 0
wmc 6

3 Methods

Rating   Name   Duplication   Size   Complexity  
A schemaClass() 0 8 2
A propertiesOrStaticClass() 0 11 2
A classStructureClass() 0 8 2
1
<?php
2
3
namespace Swaggest\PhpCodeBuilder\JsonSchema;
4
5
use Swaggest\JsonSchema\Constraint\Properties;
6
use Swaggest\JsonSchema\Schema;
7
use Swaggest\JsonSchema\Structure\ClassStructure;
8
use Swaggest\PhpCodeBuilder\PhpClass;
9
use Swaggest\PhpCodeBuilder\PhpDocType;
10
use Swaggest\PhpCodeBuilder\Types\OrType;
11
12
class Palette
13
{
14 11
    public static function classStructureClass()
15
    {
16 11
        static $instance;
17 11
        if (null === $instance) {
18 1
            $instance = new PhpClass();
19 1
            $instance->setFullyQualifiedName(ClassStructure::className());
20
        }
21 11
        return $instance;
22
    }
23
24 11
    public static function propertiesOrStaticClass()
25
    {
26 11
        static $instance;
27 11
        if (null === $instance) {
28 1
            $class = new PhpClass();
29 1
            $class->setFullyQualifiedName(get_class(new Properties()));
30 1
            $instance = new OrType();
31 1
            $instance->add($class);
32 1
            $instance->add(PhpDocType::staticType());
33
        }
34 11
        return $instance;
35
    }
36
37 11
    public static function schemaClass()
38
    {
39 11
        static $instance;
40 11
        if (null === $instance) {
41 1
            $instance = new PhpClass();
42 1
            $instance->setFullyQualifiedName(get_class(new Schema()));
43
        }
44 11
        return $instance;
45
    }
46
47
}