BinaryData   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 10
dl 0
loc 47
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A setContent() 0 4 1
A setValueToElement() 0 4 1
A getContent() 0 3 1
A returnEncapsuledData() 0 7 2
1
<?php
2
3
/**
4
 * The MIT License
5
 *
6
 * Copyright 2016 Julien Fastré <[email protected]>.
7
 *
8
 * Permission is hereby granted, free of charge, to any person obtaining a copy
9
 * of this software and associated documentation files (the "Software"), to deal
10
 * in the Software without restriction, including without limitation the rights
11
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
 * copies of the Software, and to permit persons to whom the Software is
13
 * furnished to do so, subject to the following conditions:
14
 *
15
 * The above copyright notice and this permission notice shall be included in
16
 * all copies or substantial portions of the Software.
17
 *
18
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
 * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
21
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
 * THE SOFTWARE.
25
 */
26
27
namespace i3Soft\CDA\DataType\TextAndMultimedia;
28
29
use i3Soft\CDA\DataType\AnyType;
30
31
/**
32
 *
33
 * The CDA description is :
34
 * ========================
35
 *
36
 * BIN is a raw block of bits. BIN is a protected type that should not be
37
 * declared outside the data type specification. A bit is semantically identical
38
 * with a non-null BL value. Thus, all binary data is — semantically — a
39
 * sequence of non-null BL values.
40
 *
41
 * In this library
42
 * ===============
43
 *
44
 * The content is inserted inside a simple content.
45
 *
46
 *
47
 * @author Julien Fastré <[email protected]>
48
 */
49
class BinaryData extends AnyType
50
{
51
  /**
52
   * the content
53
   *
54
   * @var mixed
55
   */
56
  private $content;
57
58
  /**
59
   * @param \DOMElement       $el
60
   * @param \DOMDocument|NULL $doc
61
   */
62
  public function setValueToElement (\DOMElement $el, \DOMDocument $doc)
63
  {
64
    $content = new \DOMText($this->getContent());
65
    $el->appendChild($content);
66
  }
67
68
  /**
69
   * @return mixed
70
   */
71
  public function getContent ()
72
  {
73
    return $this->content;
74
  }
75
76
  /** @noinspection ReturnTypeCanBeDeclaredInspection */
77
78
  /**
79
   * @param $content
80
   *
81
   * @return self
82
   */
83
  public function setContent ($content)
84
  {
85
    $this->content = $content;
86
    return $this;
87
  }
88
89
  public function returnEncapsuledData (): EncapsuledData
90
  {
91
    if ($this instanceof EncapsuledData)
92
    {
93
      return $this;
94
    }
95
    throw new \RuntimeException('This call is only valid from an Encapsuled data object');
96
  }
97
}
98