Palette::schemaClass()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 5
nc 2
nop 0
dl 0
loc 8
ccs 6
cts 6
cp 1
crap 2
rs 10
c 1
b 0
f 0
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
}