2017-03-12 9 views
0

hapi fhir을 사용하여 clojure에서 dstu2 클라이언트를 만들려고합니다.방법을 찾을 수 없지만 clojure.reflector에 다르게 표시됩니다.

(def fhir-context (. FhirContext forDstu2)) 
=> #'emrspp.fhir-resources/fhir-context 
(def opts PerformanceOptionsEnum/DEFERRED_MODEL_SCANNING) 
=> #'emrspp.fhir-resources/opts 

그러나 다음 followint 실패 :

(.setPerformanceOptions fhir-context opts) 
=> 
CompilerException java.lang.IllegalArgumentException: No matching method found: setPerformanceOptions for class ca.uhn.fhir.context.FhirContext 
템플릿으로 내가 무엇을하면 다음과 같다 내가

https://github.com/jamesagnew/hapi-fhir/blob/master/examples/src/main/java/example/GenericClientExample.java를 사용하지만

ctx.setPerformanceOptions(PerformanceOptionsEnum.DEFERRED_MODEL_SCANNING); 
in clojure 

을 실행할 수 없습니다입니다

클로저 반사는 다음을 제공합니다.

아니오

(:import [org.hl7.fhir.instance.model.api IBaseOperationOutcome IBaseResource ] 
    7   [ca.uhn.fhir.context FhirContext PerformanceOptionsEnum] 
    8   [ca.uhn.fhir.model.base.resource BaseOperationOutcome ] 
    9   [ca.uhn.fhir.model.dstu2.resource Bundle 
10            Conformance Observation 
11            OperationOutcome 
12            Organization Parameters 
13            Patient Provenance] 
14   [ca.uhn.fhir.model.dstu2.valueset AdministrativeGenderEnum IssueSeverityEnum] 
15    [ca.uhn.fhir.model.primitive DateDt IdDt InstantDt] 
16   [ca.uhn.fhir.rest.api MethodOutcome SummaryEnum ] 
17   [ca.uhn.fhir.rest.client IGenericClient ServerValidationModeEnum interceptor.LoggingInterceptor ] 
18   [ca.uhn.fhir.rest.method.SearchStyleEnum ] 
19   [ca.uhn.fhir.rest.param.DateRangeParam ] 
20   [ca.uhn.fhir.rest.server.exceptions.PreconditionFailedException ] 
21   ) 

: 363,210

(pprint (filter #(= "setPerformanceOptions" (str (:name %))) (:members (r/reflect fhir-context)))) 

=> 
~ 
({:name setPerformanceOptions, 
    :return-type void, 
    :declaring-class ca.uhn.fhir.context.FhirContext, 
    :parameter-types [ca.uhn.fhir.context.PerformanceOptionsEnum<>], 
    :exception-types [], 
    :flags #{:varargs :public}} 
{:name setPerformanceOptions, 
    :return-type void, 
    :declaring-class ca.uhn.fhir.context.FhirContext, 
    :parameter-types [java.util.Collection], 
    :exception-types [], 
    :flags #{:public}}) 
nil 

수입품 섹션은 pprint 및 반사

있을 것이 아니라 실행 표시 방법 setPerformanceOptions 관련하여 발생하는 어떠한 안타를 제외하고 필요 ??? ?

답변

1

몇 시간 후에 알아 냈습니다. 나는 가까이 네임 스페이스를 보면 : http://hapifhir.io/apidocs/ca/uhn/fhir/context/FhirContext.html 은 통과 인수가 자바 수집 할 필요가있어

(.setPerformanceOptions fhir-context opts) 

(.setPerformanceOptions fhir-context (java.util.ArrayList. [opts])) 

또는 더 간단

(.setPerformanceOptions fhir-context [opts]) 
로 변경해야 함을 알 수