1: <?php
2:
3: /**
4: * Description of Register
5: *
6: * @author sfrenzel
7: * @email sfrenzel@gfz-potsdam.de
8: */
9: class IGSN_Registration_Metadata_Representation extends IGSN_Metadata_Base_Representation {
10:
11: /**
12: * IGSN-Registration-Metadata-Version-1.0
13: * Link to schema : http://igsn.org/schema/kernel-v.1.0 http://doidb.wdc-terra.org/igsn/schemas/igsn.org/schema/1.0/igsn.xsd
14: */
15: const SAMPLENUMBER = 'sampleNumber';
16: const LOG = 'log';
17: const LOGELEMENT = 'logElement';
18: const TIMESTAMP = 'timeStamp';
19: const EVENT = 'event';
20: const COMMENT = 'comment';
21: const RELATEDRESOURCEIDENTIFIERS = 'relatedResourceIdentifiers';
22: const RELATEDRESOURCEIDENTIFIER = 'relatedIdentifier';
23:
24: public $sampleNumber;
25: public $registrant = NULL;
26: public $relatedResourceIdentifiers;
27: public $log = NULL;
28: public $logElement;
29:
30: public function setSampleNumber($sampleNumber): void {
31: $this->sampleNumber = $this->setbasicElement($sampleNumber, self::SAMPLENUMBER);
32: $this->sampleNumber->setMandatory(true);
33: }
34:
35: public function setSampleNumber_IdentifierType($sampleNumber, $identifierType): void {
36: $this->sampleNumber = $this->setbasicElement($sampleNumber, self::SAMPLENUMBER);
37: $this->sampleNumber->setMandatory(true); //@todo Check Null
38: $identifierTypeele = $this->setAttribute(self::IDENTIFIERTYPE, $identifierType);
39: $this->sampleNumber->insertAttributes($identifierTypeele);
40: }
41:
42: public function setRegistrant_NameIdentifier($nameIdentifier): void {
43: $nameIdentifierele = $this->setbasicElement($nameIdentifier, self::NAMEIDENTIFIER);
44: $this->set2Registrant($nameIdentifierele);
45: }
46:
47: public function setRegistrant_NameIdentifier_Scheme($nameIdentifier, $nameIdentifierScheme): void {
48: $nameIdentifierele = $this->setbasicElement($nameIdentifier, self::NAMEIDENTIFIER);
49: $nameIdentifierSchemeele = $this->setAttribute(self::NAMEIDENTIFIERSCHEME, $nameIdentifierScheme);
50: $nameIdentifierele->insertAttributes($nameIdentifierSchemeele);
51: $this->set2Registrant($nameIdentifierele);
52: }
53:
54: public function setRelatedResourceIdentifiersParent() {
55: $this->relatedResourceIdentifiers = $this->setParentElement(self::RELATEDRESOURCEIDENTIFIERS);
56: }
57:
58: public function setRelatedResourceIdentifiers(Element $relatedResourceIdentifier): void {
59: if (isset($this->relatedResourceIdentifiers)) {
60: $this->relatedResourceIdentifiers->insertChild($relatedResourceIdentifier);
61: } else {
62: $this->relatedResourceIdentifiers = $this->setParentElement(self::RELATEDRESOURCEIDENTIFIERS);
63: $this->relatedResourceIdentifiers->insertChild($relatedResourceIdentifier);
64: }
65: }
66:
67: public function setRelatedResourceIdentifier($relatedResourceIdentifier): void {
68: $relatedResourceIdentifierEle = $this->setbasicElement($relatedResourceIdentifier, self::RELATEDRESOURCEIDENTIFIER);
69: $this->setRelatedResourceIdentifiers($relatedResourceIdentifierEle);
70: }
71:
72: public function setRelatedResourceIdentifier_RelatedIdentifierType($relatedResourceIdentifier, $relatedIdentifierType): void {
73: $relatedResourceIdentifierEle = $this->setbasicElement($relatedResourceIdentifier, self::RELATEDRESOURCEIDENTIFIER);
74: $relatedIdentifierTypeattribute = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $relatedIdentifierType);
75: $relatedResourceIdentifierEle->insertAttributes($relatedIdentifierTypeattribute);
76: $this->setRelatedResourceIdentifiers($relatedResourceIdentifierEle);
77: }
78:
79: public function setRelatedResourceIdentifier_RelatedIdentifierType_RelationType($relatedResourceIdentifier, $relatedIdentifierType, $relationType): void {
80: $relatedResourceIdentifierEle = $this->setbasicElement($relatedResourceIdentifier, self::RELATEDRESOURCEIDENTIFIER);
81: $relatedIdentifierTypeattribute = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $relatedIdentifierType);
82: $relatedResourceIdentifierEle->insertAttributes($relatedIdentifierTypeattribute);
83: $relationTypeattribute = $this->setAttribute(self::RELATIONSTYPE, $relationType);
84: $relatedResourceIdentifierEle->insertAttributes($relationTypeattribute);
85: $this->setRelatedResourceIdentifiers($relatedResourceIdentifierEle);
86: }
87:
88: public function setRelatedResourceIdentifier_RelationType($relatedResourceIdentifier, $relationType): void {
89: $relatedResourceIdentifierEle = $this->setbasicElement($relatedResourceIdentifier, self::RELATEDRESOURCEIDENTIFIER);
90: $relationTypeattribute = $this->setAttribute(self::RELATIONSTYPE, $relationType);
91: $relatedResourceIdentifierEle->insertAttributes($relationTypeattribute);
92: $this->setRelatedResourceIdentifiers($relatedResourceIdentifierEle);
93: }
94:
95: public function setLog($logelement): void {
96: if ($this->log != NULL) {
97: $this->log->insertChild($logelement);
98: } else {
99: $this->log = $this->setParentElement(self::LOG);
100: $this->log->insertChild($logelement);
101: }
102: }
103:
104: public function setLogElement($logElement): void {
105: $logElementele = $this->setbasicElement($logElement, self::LOGELEMENT);
106: $this->setLog($logElementele);
107: }
108:
109: public function setLogElement_event($logElement, $event): void {
110: $logElementele = $this->setbasicElement($logElement, self::LOGELEMENT);
111: $eventele = $this->setAttribute(self::EVENT, $event);
112: $logElementele->insertAttributes($eventele);
113: $this->setLog($logElementele);
114: }
115:
116: public function setLogElement_timeStamp($logElement, $timestamp): void {
117: $logElementele = $this->setbasicElement($logElement, self::LOGELEMENT);
118: $tstele = $this->setAttribute(self::TIMESTAMP, $timestamp);
119: $logElementele->insertAttributes($tstele);
120: $this->setLog($logElementele);
121: }
122:
123: public function setLogElement_comment($logElement, $comment): void {
124: $logElementele = $this->setbasicElement($logElement, self::LOGELEMENT);
125: $comentele = $this->setAttribute(self::COMMENT, $comment);
126: $logElementele->insertAttributes($comentele);
127: $this->setLog($logElementele);
128: }
129:
130: public function setLogElement_event_timeStamp_comment($logElement, $event, $timestamp, $comment): void {
131: $logElementele = $this->setbasicElement($logElement, self::LOGELEMENT);
132: $eventele = $this->setAttribute(self::EVENT, $event);
133: $logElementele->insertAttributes($eventele);
134: $tstele = $this->setAttribute(self::TIMESTAMP, $timestamp);
135: $logElementele->insertAttributes($tstele);
136: $comentele = $this->setAttribute(self::COMMENT, $comment);
137: $logElementele->insertAttributes($comentele);
138: $this->setLog($logElementele);
139: }
140:
141: public function setLogElement_event_timeStamp($logElement, $event, $timestamp): void {
142: $logElementele = $this->setbasicElement($logElement, self::LOGELEMENT);
143: $eventele = $this->setAttribute(self::EVENT, $event);
144: $logElementele->insertAttributes($eventele);
145: $tstele = $this->setAttribute(self::TIMESTAMP, $timestamp);
146: $logElementele->insertAttributes($tstele);
147: $this->setLog($logElementele);
148: }
149:
150: public function getSampleNumber() {
151: return $this->sampleNumber;
152: }
153:
154: public function getRegistrant() {
155: return $this->registrant;
156: }
157:
158: public function getRegistrantName() {
159: return $this->registrantName;
160: }
161:
162: public function getNameIdentifier() {
163: return $this->nameIdentifier;
164: }
165:
166: public function getNameIdentifierScheme() {
167: return $this->nameIdentifierScheme;
168: }
169:
170: public function getRelatedResourceIdentifier() {
171: return $this->relatedResourceIdentifier;
172: }
173:
174: public function getRelatedIdentifierType() {
175: return $this->relatedIdentifierType;
176: }
177:
178: public function getRelationType() {
179: return $this->relationType;
180: }
181:
182: public function getLog() {
183: return $this->log;
184: }
185:
186: public function getLogElement() {
187: return $this->logElement;
188: }
189:
190: }
191: