001package org.hl7.fhir.convertors.advisors.impl; 002 003import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; 004import org.hl7.fhir.r4.model.Expression; 005import org.hl7.fhir.r4.model.Type; 006 007import javax.annotation.Nonnull; 008import java.util.ArrayList; 009import java.util.Arrays; 010import java.util.Collections; 011import java.util.List; 012 013public class BaseAdvisor_10_40 extends BaseAdvisor40<org.hl7.fhir.dstu2.model.Extension> { 014 015 final List<String> conformanceIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown"); 016 private final List<Class<?>> ignoredExtensionTypes = new ArrayList<>(Collections.singletonList(Expression.class)); 017 018 public BaseAdvisor_10_40() { 019 } 020 021 public BaseAdvisor_10_40(Boolean failFast) { 022 this.failFast = failFast; 023 } 024 025 @Override 026 public boolean ignoreExtension(@Nonnull String path, 027 @Nonnull String url) { 028 List<String> paths = Arrays.asList(path.split(",")); 029 return (paths.get(paths.size() - 1).equals("Conformance")) && (conformanceIgnoredUrls.contains(url)); 030 } 031 032 @Override 033 public boolean ignoreType(@Nonnull String path, 034 @Nonnull Type type) { 035 return ignoredExtensionTypes.contains(type.getClass()); 036 } 037}