001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * Common Interface declaration for conformance and knowledge artifact resources. 052 */ 053public abstract class CanonicalResource extends DomainResource { 054 055 private static final long serialVersionUID = 0L; 056 057 /** 058 * Constructor 059 */ 060 public CanonicalResource() { 061 super(); 062 } 063 064 /** 065 * Constructor 066 */ 067 public CanonicalResource(PublicationStatus status) { 068 super(); 069 this.setStatus(status); 070 } 071 072 /** 073 * How many allowed for this property by the implementation 074 */ 075 public int getUrlMax() { 076 return 1; 077 } 078 /** 079 * @return {@link #url} (An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 080 */ 081 public abstract UriType getUrlElement(); 082 083 public abstract boolean hasUrlElement(); 084 public abstract boolean hasUrl(); 085 086 /** 087 * @param value {@link #url} (An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 088 */ 089 public abstract CanonicalResource setUrlElement(UriType value); 090 /** 091 * @return An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers. 092 */ 093 public abstract String getUrl(); 094 /** 095 * @param value An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers. 096 */ 097 public abstract CanonicalResource setUrl(String value); 098 /** 099 * How many allowed for this property by the implementation 100 */ 101 public int getIdentifierMax() { 102 return Integer.MAX_VALUE; 103 } 104 /** 105 * @return {@link #identifier} (A formal identifier that is used to identify this canonical resource when it is represented in other formats, or referenced in a specification, model, design or an instance.) 106 */ 107 public abstract List<Identifier> getIdentifier(); 108 /** 109 * @return Returns a reference to <code>this</code> for easy method chaining 110 */ 111 public abstract CanonicalResource setIdentifier(List<Identifier> theIdentifier); 112 public abstract boolean hasIdentifier(); 113 114 public abstract Identifier addIdentifier(); //3 115 public abstract CanonicalResource addIdentifier(Identifier t); //3 116 /** 117 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {1} 118 */ 119 public abstract Identifier getIdentifierFirstRep(); 120 /** 121 * How many allowed for this property by the implementation 122 */ 123 public int getVersionMax() { 124 return 1; 125 } 126 /** 127 * @return {@link #version} (The identifier that is used to identify this version of the canonical resource when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the canonical resource author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence without additional knowledge. (See the versionAlgorithm element.)). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 128 */ 129 public abstract StringType getVersionElement(); 130 131 public abstract boolean hasVersionElement(); 132 public abstract boolean hasVersion(); 133 134 /** 135 * @param value {@link #version} (The identifier that is used to identify this version of the canonical resource when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the canonical resource author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence without additional knowledge. (See the versionAlgorithm element.)). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 136 */ 137 public abstract CanonicalResource setVersionElement(StringType value); 138 /** 139 * @return The identifier that is used to identify this version of the canonical resource when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the canonical resource author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence without additional knowledge. (See the versionAlgorithm element.) 140 */ 141 public abstract String getVersion(); 142 /** 143 * @param value The identifier that is used to identify this version of the canonical resource when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the canonical resource author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence without additional knowledge. (See the versionAlgorithm element.) 144 */ 145 public abstract CanonicalResource setVersion(String value); 146 /** 147 * How many allowed for this property by the implementation 148 */ 149 public int getVersionAlgorithmMax() { 150 return 1; 151 } 152 /** 153 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 154 */ 155 public abstract DataType getVersionAlgorithm(); 156 /** 157 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 158 */ 159 public abstract StringType getVersionAlgorithmStringType() throws FHIRException; 160 public abstract boolean hasVersionAlgorithmStringType(); 161 /** 162 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 163 */ 164 public abstract Coding getVersionAlgorithmCoding() throws FHIRException; 165 public abstract boolean hasVersionAlgorithmCoding(); 166 public abstract boolean hasVersionAlgorithm(); 167 /** 168 * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 169 */ 170 public abstract CanonicalResource setVersionAlgorithm(DataType value); 171 172 /** 173 * How many allowed for this property by the implementation 174 */ 175 public int getNameMax() { 176 return 1; 177 } 178 /** 179 * @return {@link #name} (A natural language name identifying the canonical resource. This name should be usable as an identifier for the resource by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 180 */ 181 public abstract StringType getNameElement(); 182 183 public abstract boolean hasNameElement(); 184 public abstract boolean hasName(); 185 186 /** 187 * @param value {@link #name} (A natural language name identifying the canonical resource. This name should be usable as an identifier for the resource by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 188 */ 189 public abstract CanonicalResource setNameElement(StringType value); 190 /** 191 * @return A natural language name identifying the canonical resource. This name should be usable as an identifier for the resource by machine processing applications such as code generation. 192 */ 193 public abstract String getName(); 194 /** 195 * @param value A natural language name identifying the canonical resource. This name should be usable as an identifier for the resource by machine processing applications such as code generation. 196 */ 197 public abstract CanonicalResource setName(String value); 198 /** 199 * How many allowed for this property by the implementation 200 */ 201 public int getTitleMax() { 202 return 1; 203 } 204 /** 205 * @return {@link #title} (A short, descriptive, user-friendly title for the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 206 */ 207 public abstract StringType getTitleElement(); 208 209 public abstract boolean hasTitleElement(); 210 public abstract boolean hasTitle(); 211 212 /** 213 * @param value {@link #title} (A short, descriptive, user-friendly title for the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 214 */ 215 public abstract CanonicalResource setTitleElement(StringType value); 216 /** 217 * @return A short, descriptive, user-friendly title for the canonical resource. 218 */ 219 public abstract String getTitle(); 220 /** 221 * @param value A short, descriptive, user-friendly title for the canonical resource. 222 */ 223 public abstract CanonicalResource setTitle(String value); 224 /** 225 * How many allowed for this property by the implementation 226 */ 227 public int getStatusMax() { 228 return 1; 229 } 230 /** 231 * @return {@link #status} (The current state of this canonical resource. ). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 232 */ 233 public abstract Enumeration<PublicationStatus> getStatusElement(); 234 235 public abstract boolean hasStatusElement(); 236 public abstract boolean hasStatus(); 237 238 /** 239 * @param value {@link #status} (The current state of this canonical resource. ). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 240 */ 241 public abstract CanonicalResource setStatusElement(Enumeration<PublicationStatus> value); 242 /** 243 * @return The current state of this canonical resource. 244 */ 245 public abstract PublicationStatus getStatus(); 246 /** 247 * @param value The current state of this canonical resource. 248 */ 249 public abstract CanonicalResource setStatus(PublicationStatus value); 250 /** 251 * How many allowed for this property by the implementation 252 */ 253 public int getExperimentalMax() { 254 return 1; 255 } 256 /** 257 * @return {@link #experimental} (A Boolean value to indicate that this canonical resource is authored for testing purposes (or education/evaluation/marketing) and is not intended for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 258 */ 259 public abstract BooleanType getExperimentalElement(); 260 261 public abstract boolean hasExperimentalElement(); 262 public abstract boolean hasExperimental(); 263 264 /** 265 * @param value {@link #experimental} (A Boolean value to indicate that this canonical resource is authored for testing purposes (or education/evaluation/marketing) and is not intended for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 266 */ 267 public abstract CanonicalResource setExperimentalElement(BooleanType value); 268 /** 269 * @return A Boolean value to indicate that this canonical resource is authored for testing purposes (or education/evaluation/marketing) and is not intended for genuine usage. 270 */ 271 public abstract boolean getExperimental(); 272 /** 273 * @param value A Boolean value to indicate that this canonical resource is authored for testing purposes (or education/evaluation/marketing) and is not intended for genuine usage. 274 */ 275 public abstract CanonicalResource setExperimental(boolean value); 276 /** 277 * How many allowed for this property by the implementation 278 */ 279 public int getDateMax() { 280 return 1; 281 } 282 /** 283 * @return {@link #date} (The date (and optionally time) when the canonical resource was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the canonical resource changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 284 */ 285 public abstract DateTimeType getDateElement(); 286 287 public abstract boolean hasDateElement(); 288 public abstract boolean hasDate(); 289 290 /** 291 * @param value {@link #date} (The date (and optionally time) when the canonical resource was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the canonical resource changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 292 */ 293 public abstract CanonicalResource setDateElement(DateTimeType value); 294 /** 295 * @return The date (and optionally time) when the canonical resource was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the canonical resource changes. 296 */ 297 public abstract Date getDate(); 298 /** 299 * @param value The date (and optionally time) when the canonical resource was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the canonical resource changes. 300 */ 301 public abstract CanonicalResource setDate(Date value); 302 /** 303 * How many allowed for this property by the implementation 304 */ 305 public int getPublisherMax() { 306 return 1; 307 } 308 /** 309 * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 310 */ 311 public abstract StringType getPublisherElement(); 312 313 public abstract boolean hasPublisherElement(); 314 public abstract boolean hasPublisher(); 315 316 /** 317 * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 318 */ 319 public abstract CanonicalResource setPublisherElement(StringType value); 320 /** 321 * @return The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource. 322 */ 323 public abstract String getPublisher(); 324 /** 325 * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource. 326 */ 327 public abstract CanonicalResource setPublisher(String value); 328 /** 329 * How many allowed for this property by the implementation 330 */ 331 public int getContactMax() { 332 return Integer.MAX_VALUE; 333 } 334 /** 335 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 336 */ 337 public abstract List<ContactDetail> getContact(); 338 /** 339 * @return Returns a reference to <code>this</code> for easy method chaining 340 */ 341 public abstract CanonicalResource setContact(List<ContactDetail> theContact); 342 public abstract boolean hasContact(); 343 344 public abstract ContactDetail addContact(); //3 345 public abstract CanonicalResource addContact(ContactDetail t); //3 346 /** 347 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {1} 348 */ 349 public abstract ContactDetail getContactFirstRep(); 350 /** 351 * How many allowed for this property by the implementation 352 */ 353 public int getDescriptionMax() { 354 return 1; 355 } 356 /** 357 * @return {@link #description} (A free text natural language description of the canonical resource from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 358 */ 359 public abstract MarkdownType getDescriptionElement(); 360 361 public abstract boolean hasDescriptionElement(); 362 public abstract boolean hasDescription(); 363 364 /** 365 * @param value {@link #description} (A free text natural language description of the canonical resource from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 366 */ 367 public abstract CanonicalResource setDescriptionElement(MarkdownType value); 368 /** 369 * @return A free text natural language description of the canonical resource from a consumer's perspective. 370 */ 371 public abstract String getDescription(); 372 /** 373 * @param value A free text natural language description of the canonical resource from a consumer's perspective. 374 */ 375 public abstract CanonicalResource setDescription(String value); 376 /** 377 * How many allowed for this property by the implementation 378 */ 379 public int getUseContextMax() { 380 return Integer.MAX_VALUE; 381 } 382 /** 383 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate canonical resources.) 384 */ 385 public abstract List<UsageContext> getUseContext(); 386 /** 387 * @return Returns a reference to <code>this</code> for easy method chaining 388 */ 389 public abstract CanonicalResource setUseContext(List<UsageContext> theUseContext); 390 public abstract boolean hasUseContext(); 391 392 public abstract UsageContext addUseContext(); //3 393 public abstract CanonicalResource addUseContext(UsageContext t); //3 394 /** 395 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {1} 396 */ 397 public abstract UsageContext getUseContextFirstRep(); 398 /** 399 * How many allowed for this property by the implementation 400 */ 401 public int getJurisdictionMax() { 402 return Integer.MAX_VALUE; 403 } 404 /** 405 * @return {@link #jurisdiction} (A legal or geographic region in which the canonical resource is intended to be used.) 406 */ 407 public abstract List<CodeableConcept> getJurisdiction(); 408 /** 409 * @return Returns a reference to <code>this</code> for easy method chaining 410 */ 411 public abstract CanonicalResource setJurisdiction(List<CodeableConcept> theJurisdiction); 412 public abstract boolean hasJurisdiction(); 413 414 public abstract CodeableConcept addJurisdiction(); //3 415 public abstract CanonicalResource addJurisdiction(CodeableConcept t); //3 416 /** 417 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {1} 418 */ 419 public abstract CodeableConcept getJurisdictionFirstRep(); 420 /** 421 * How many allowed for this property by the implementation 422 */ 423 public int getPurposeMax() { 424 return 1; 425 } 426 /** 427 * @return {@link #purpose} (Explanation of why this canonical resource is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 428 */ 429 public abstract MarkdownType getPurposeElement(); 430 431 public abstract boolean hasPurposeElement(); 432 public abstract boolean hasPurpose(); 433 434 /** 435 * @param value {@link #purpose} (Explanation of why this canonical resource is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 436 */ 437 public abstract CanonicalResource setPurposeElement(MarkdownType value); 438 /** 439 * @return Explanation of why this canonical resource is needed and why it has been designed as it has. 440 */ 441 public abstract String getPurpose(); 442 /** 443 * @param value Explanation of why this canonical resource is needed and why it has been designed as it has. 444 */ 445 public abstract CanonicalResource setPurpose(String value); 446 /** 447 * How many allowed for this property by the implementation 448 */ 449 public int getCopyrightMax() { 450 return 1; 451 } 452 /** 453 * @return {@link #copyright} (A copyright statement relating to the canonical resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 454 */ 455 public abstract MarkdownType getCopyrightElement(); 456 457 public abstract boolean hasCopyrightElement(); 458 public abstract boolean hasCopyright(); 459 460 /** 461 * @param value {@link #copyright} (A copyright statement relating to the canonical resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 462 */ 463 public abstract CanonicalResource setCopyrightElement(MarkdownType value); 464 /** 465 * @return A copyright statement relating to the canonical resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the canonical resource. 466 */ 467 public abstract String getCopyright(); 468 /** 469 * @param value A copyright statement relating to the canonical resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the canonical resource. 470 */ 471 public abstract CanonicalResource setCopyright(String value); 472 /** 473 * How many allowed for this property by the implementation 474 */ 475 public int getCopyrightLabelMax() { 476 return 1; 477 } 478 /** 479 * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 480 */ 481 public abstract StringType getCopyrightLabelElement(); 482 483 public abstract boolean hasCopyrightLabelElement(); 484 public abstract boolean hasCopyrightLabel(); 485 486 /** 487 * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 488 */ 489 public abstract CanonicalResource setCopyrightLabelElement(StringType value); 490 /** 491 * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 492 */ 493 public abstract String getCopyrightLabel(); 494 /** 495 * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 496 */ 497 public abstract CanonicalResource setCopyrightLabel(String value); 498 protected void listChildren(List<Property> children) { 499 super.listChildren(children); 500 } 501 502 @Override 503 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 504 switch (_hash) { 505 default: return super.getNamedProperty(_hash, _name, _checkValid); 506 } 507 508 } 509 510 @Override 511 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 512 switch (hash) { 513 default: return super.getProperty(hash, name, checkValid); 514 } 515 516 } 517 518 @Override 519 public Base setProperty(int hash, String name, Base value) throws FHIRException { 520 switch (hash) { 521 default: return super.setProperty(hash, name, value); 522 } 523 524 } 525 526 @Override 527 public Base setProperty(String name, Base value) throws FHIRException { 528 return super.setProperty(name, value); 529 } 530 531 @Override 532 public void removeChild(String name, Base value) throws FHIRException { 533 super.removeChild(name, value); 534 } 535 536 @Override 537 public Base makeProperty(int hash, String name) throws FHIRException { 538 switch (hash) { 539 default: return super.makeProperty(hash, name); 540 } 541 542 } 543 544 @Override 545 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 546 switch (hash) { 547 default: return super.getTypesForProperty(hash, name); 548 } 549 550 } 551 552 @Override 553 public Base addChild(String name) throws FHIRException { 554 return super.addChild(name); 555 } 556 557 public String fhirType() { 558 return "CanonicalResource"; 559 560 } 561 562 public abstract CanonicalResource copy(); 563 564 public void copyValues(CanonicalResource dst) { 565 super.copyValues(dst); 566 } 567 568 @Override 569 public boolean equalsDeep(Base other_) { 570 if (!super.equalsDeep(other_)) 571 return false; 572 if (!(other_ instanceof CanonicalResource)) 573 return false; 574 CanonicalResource o = (CanonicalResource) other_; 575 return true; 576 } 577 578 @Override 579 public boolean equalsShallow(Base other_) { 580 if (!super.equalsShallow(other_)) 581 return false; 582 if (!(other_ instanceof CanonicalResource)) 583 return false; 584 CanonicalResource o = (CanonicalResource) other_; 585 return true; 586 } 587 588 public boolean isEmpty() { 589 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(); 590 } 591 592// Manual code (from Configuration.txt): 593 @Override 594 public String toString() { 595 return fhirType()+"["+getUrl()+(hasVersion() ? "|"+getVersion(): "")+"]"; 596 } 597 598 public String present() { 599 if (hasUserData("presentation")) { 600 return getUserString("presentation"); 601 } 602 if (hasTitle()) 603 return getTitle(); 604 if (hasName()) 605 return getName(); 606 return toString(); 607 } 608 609 public String getVUrl() { 610 return getUrl() + (hasVersion() ? "|"+getVersion() : ""); 611 } 612 613 public boolean supportsCopyright() { 614 return true; 615 } 616 617 public String getVersionedUrl() { 618 return hasVersion() ? getUrl()+"|"+getVersion() : getUrl(); 619 } 620 621 622 public String oid() { 623 for (Identifier id : getIdentifier()) { 624 if (id.getValue().startsWith("urn:oid:")) { 625 return id.getValue().substring(8); 626 } 627 } 628 return null; 629 } 630 631 public String getOid() { 632 for (Identifier id : getIdentifier()) { 633 if ("urn:ietf:rfc:3986".equals(id.getSystem()) && id.hasValue() && id.getValue().startsWith("urn:oid:")) { 634 return id.getValue().substring(8); 635 } 636 } 637 return null; 638 } 639 640// end addition 641 642} 643