001package org.hl7.fhir.r4.utils;
002
003/*-
004 * #%L
005 * org.hl7.fhir.r4
006 * %%
007 * Copyright (C) 2014 - 2019 Health Level 7
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023
024import org.hl7.fhir.r4.model.ImplementationGuide.GuideParameterCode;
025import org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionComponent;
026import org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent;
027
028public class IGHelper {
029
030  public static String readStringParameter(ImplementationGuideDefinitionComponent ig, GuideParameterCode name) {
031    for (ImplementationGuideDefinitionParameterComponent p : ig.getParameter()) {
032      if (name.toCode().equals(p.getCode())) {
033        return p.getValue();
034      }
035    }
036    return null;
037  }
038
039  public static boolean getBooleanParameter(ImplementationGuideDefinitionComponent ig, GuideParameterCode name, boolean defaultValue) {
040    String v = readStringParameter(ig, name);
041    return v == null ? false : Boolean.parseBoolean(v);
042  }
043
044  public static void setParameter(ImplementationGuideDefinitionComponent ig, GuideParameterCode name, String value) {
045    for (ImplementationGuideDefinitionParameterComponent p : ig.getParameter()) {
046      if (name.toCode().equals(p.getCode())) {
047        p.setValue(value);
048        return;
049      }
050    }
051    ImplementationGuideDefinitionParameterComponent p = ig.addParameter();
052    p.setCode(name.toCode());
053    p.setValue(value);
054  }
055  
056  public static void setParameter(ImplementationGuideDefinitionComponent ig, GuideParameterCode name, boolean value) {
057    setParameter(ig, name, Boolean.toString(value));
058  }
059
060}