34 lines
1.5 KiB
Text
34 lines
1.5 KiB
Text
(import [java.lang.annotation Retention RetentionPolicy Target ElementType]
|
|
[javax.xml.ws WebServiceRef WebServiceRefs])
|
|
|
|
(definterface Foo (foo []))
|
|
|
|
;; annotation on type
|
|
(deftype ^{Deprecated true
|
|
Retention RetentionPolicy/RUNTIME
|
|
javax.annotation.processing.SupportedOptions ["foo" "bar" "baz"]
|
|
javax.xml.ws.soap.Addressing {:enabled false :required true}
|
|
WebServiceRefs [(WebServiceRef {:name "fred" :type String})
|
|
(WebServiceRef {:name "ethel" :mappedName "lucy"})]}
|
|
Bar [^int a
|
|
;; on field
|
|
^{:tag int
|
|
Deprecated true
|
|
Retention RetentionPolicy/RUNTIME
|
|
javax.annotation.processing.SupportedOptions ["foo" "bar" "baz"]
|
|
javax.xml.ws.soap.Addressing {:enabled false :required true}
|
|
WebServiceRefs [(WebServiceRef {:name "fred" :type String})
|
|
(WebServiceRef {:name "ethel" :mappedName "lucy"})]}
|
|
b]
|
|
;; on method
|
|
Foo (^{Deprecated true
|
|
Retention RetentionPolicy/RUNTIME
|
|
javax.annotation.processing.SupportedOptions ["foo" "bar" "baz"]
|
|
javax.xml.ws.soap.Addressing {:enabled false :required true}
|
|
WebServiceRefs [(WebServiceRef {:name "fred" :type String})
|
|
(WebServiceRef {:name "ethel" :mappedName "lucy"})]}
|
|
foo [this] 42))
|
|
|
|
(seq (.getAnnotations Bar))
|
|
(seq (.getAnnotations (.getField Bar "b")))
|
|
(seq (.getAnnotations (.getMethod Bar "foo" nil)))
|