org.jclouds.predicate.clj Maven / Gradle / Ivy
;
; Licensed to the Apache Software Foundation (ASF) under one or more
; contributor license agreements. See the NOTICE file distributed with
; this work for additional information regarding copyright ownership.
; The ASF licenses this file to You under the Apache License, Version 2.0
; (the "License"); you may not use this file except in compliance with
; the License. You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
(ns org.jclouds.predicate)
(defprotocol Coercions
"Protocol for coercing between predicate-like things, like
Clojure fns and com.google.common.base.Predicate."
(to-predicate [p]))
(extend-protocol Coercions
clojure.lang.IFn
(to-predicate [p]
(reify com.google.common.base.Predicate
(apply [this input] (p input))))
com.google.common.base.Predicate
(to-predicate [p] p))
© 2015 - 2025 Weber Informatics LLC | Privacy Policy