001package org.hl7.fhir.r4.model.codesystems; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Wed, Jan 30, 2019 16:19-0500 for FHIR v4.0.0 033 034import org.hl7.fhir.exceptions.FHIRException; 035 036public enum ResourceValidationMode { 037 038 /** 039 * The server checks the content, and then checks that the content would be 040 * acceptable as a create (e.g. that the content would not violate any 041 * uniqueness constraints). 042 */ 043 CREATE, 044 /** 045 * The server checks the content, and then checks that it would accept it as an 046 * update against the nominated specific resource (e.g. that there are no 047 * changes to immutable fields the server does not allow to change and checking 048 * version integrity if appropriate). 049 */ 050 UPDATE, 051 /** 052 * The server ignores the content and checks that the nominated resource is 053 * allowed to be deleted (e.g. checking referential integrity rules). 054 */ 055 DELETE, 056 /** 057 * The server checks an existing resource (must be nominated by id, not provided 058 * as a parameter) as valid against the nominated profile. 059 */ 060 PROFILE, 061 /** 062 * added to help the parsers 063 */ 064 NULL; 065 066 public static ResourceValidationMode fromCode(String codeString) throws FHIRException { 067 if (codeString == null || "".equals(codeString)) 068 return null; 069 if ("create".equals(codeString)) 070 return CREATE; 071 if ("update".equals(codeString)) 072 return UPDATE; 073 if ("delete".equals(codeString)) 074 return DELETE; 075 if ("profile".equals(codeString)) 076 return PROFILE; 077 throw new FHIRException("Unknown ResourceValidationMode code '" + codeString + "'"); 078 } 079 080 public String toCode() { 081 switch (this) { 082 case CREATE: 083 return "create"; 084 case UPDATE: 085 return "update"; 086 case DELETE: 087 return "delete"; 088 case PROFILE: 089 return "profile"; 090 case NULL: 091 return null; 092 default: 093 return "?"; 094 } 095 } 096 097 public String getSystem() { 098 return "http://hl7.org/fhir/resource-validation-mode"; 099 } 100 101 public String getDefinition() { 102 switch (this) { 103 case CREATE: 104 return "The server checks the content, and then checks that the content would be acceptable as a create (e.g. that the content would not violate any uniqueness constraints)."; 105 case UPDATE: 106 return "The server checks the content, and then checks that it would accept it as an update against the nominated specific resource (e.g. that there are no changes to immutable fields the server does not allow to change and checking version integrity if appropriate)."; 107 case DELETE: 108 return "The server ignores the content and checks that the nominated resource is allowed to be deleted (e.g. checking referential integrity rules)."; 109 case PROFILE: 110 return "The server checks an existing resource (must be nominated by id, not provided as a parameter) as valid against the nominated profile."; 111 case NULL: 112 return null; 113 default: 114 return "?"; 115 } 116 } 117 118 public String getDisplay() { 119 switch (this) { 120 case CREATE: 121 return "Validate for Create"; 122 case UPDATE: 123 return "Validate for Update"; 124 case DELETE: 125 return "Validate for Delete"; 126 case PROFILE: 127 return "Validate Against a Profile"; 128 case NULL: 129 return null; 130 default: 131 return "?"; 132 } 133 } 134 135}