001package org.hl7.fhir.dstu3.model.codesystems;
002
003
004
005
006/*
007  Copyright (c) 2011+, HL7, Inc.
008  All rights reserved.
009  
010  Redistribution and use in source and binary forms, with or without modification, 
011  are permitted provided that the following conditions are met:
012  
013   * Redistributions of source code must retain the above copyright notice, this 
014     list of conditions and the following disclaimer.
015   * Redistributions in binary form must reproduce the above copyright notice, 
016     this list of conditions and the following disclaimer in the documentation 
017     and/or other materials provided with the distribution.
018   * Neither the name of HL7 nor the names of its contributors may be used to 
019     endorse or promote products derived from this software without specific 
020     prior written permission.
021  
022  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
023  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
024  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
025  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
026  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
027  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
028  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
029  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
030  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
031  POSSIBILITY OF SUCH DAMAGE.
032  
033*/
034
035// Generated on Sat, Mar 25, 2017 21:03-0400 for FHIR v3.0.0
036
037
038import org.hl7.fhir.exceptions.FHIRException;
039
040public enum RepositoryType {
041
042        /**
043         * When URL is clicked, the resource can be seen directly (by webpage or by download link format)
044         */
045        DIRECTLINK, 
046        /**
047         * When the API method (e.g. [base_url]/[parameter]) related with the URL of the website is executed, the resource can be seen directly (usually in JSON or XML format)
048         */
049        OPENAPI, 
050        /**
051         * When logged into the website, the resource can be seen.
052         */
053        LOGIN, 
054        /**
055         * When logged in and  follow the API in the website related with URL, the resource can be seen.
056         */
057        OAUTH, 
058        /**
059         * Some other complicated or particular way to get resource from URL.
060         */
061        OTHER, 
062        /**
063         * added to help the parsers
064         */
065        NULL;
066        public static RepositoryType fromCode(String codeString) throws FHIRException {
067            if (codeString == null || "".equals(codeString))
068                return null;
069        if ("directlink".equals(codeString))
070          return DIRECTLINK;
071        if ("openapi".equals(codeString))
072          return OPENAPI;
073        if ("login".equals(codeString))
074          return LOGIN;
075        if ("oauth".equals(codeString))
076          return OAUTH;
077        if ("other".equals(codeString))
078          return OTHER;
079        throw new FHIRException("Unknown RepositoryType code '"+codeString+"'");
080        }
081        public String toCode() {
082          switch (this) {
083            case DIRECTLINK: return "directlink";
084            case OPENAPI: return "openapi";
085            case LOGIN: return "login";
086            case OAUTH: return "oauth";
087            case OTHER: return "other";
088            case NULL: return null;
089            default: return "?";
090          }
091        }
092        public String getSystem() {
093          return "http://hl7.org/fhir/repository-type";
094        }
095        public String getDefinition() {
096          switch (this) {
097            case DIRECTLINK: return "When URL is clicked, the resource can be seen directly (by webpage or by download link format)";
098            case OPENAPI: return "When the API method (e.g. [base_url]/[parameter]) related with the URL of the website is executed, the resource can be seen directly (usually in JSON or XML format)";
099            case LOGIN: return "When logged into the website, the resource can be seen.";
100            case OAUTH: return "When logged in and  follow the API in the website related with URL, the resource can be seen.";
101            case OTHER: return "Some other complicated or particular way to get resource from URL.";
102            case NULL: return null;
103            default: return "?";
104          }
105        }
106        public String getDisplay() {
107          switch (this) {
108            case DIRECTLINK: return "Click and see";
109            case OPENAPI: return "The URL is the RESTful or other kind of API that can access to the result.";
110            case LOGIN: return "Result cannot be access unless an account is logged in";
111            case OAUTH: return "Result need to be fetched with API and need LOGIN( or cookies are required when visiting the link of resource)";
112            case OTHER: return "Some other complicated or particular way to get resource from URL.";
113            case NULL: return null;
114            default: return "?";
115          }
116    }
117
118
119}