All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.pellse.reactive.assembler.kotlin.CacheUtils.kt Maven / Gradle / Ivy

Go to download

Small library allowing to efficiently assemble entities from querying/merging external datasources or aggregating microservices

The newest version!
/*
 * Copyright 2023 Sebastien Pelletier
 *
 * Licensed 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.
 */

package io.github.pellse.reactive.assembler.kotlin

import io.github.pellse.reactive.assembler.caching.CacheFactory
import io.github.pellse.reactive.assembler.caching.CacheFactory.cached

import io.github.pellse.reactive.assembler.RuleMapperSource
import io.github.pellse.reactive.assembler.caching.CacheFactory.cache
import org.reactivestreams.Publisher
import java.util.function.Function

fun , R, RRC> ((IDC) -> Publisher).cached(
    vararg delegateCacheFactories: Function, CacheFactory>
): RuleMapperSource = cached(this, *delegateCacheFactories)

fun , R, RRC> ((IDC) -> Publisher).cached(
    mapFactory: () -> MutableMap>,
    vararg delegateCacheFactories: Function, CacheFactory>
): RuleMapperSource = cached(this, cache(mapFactory), *delegateCacheFactories)

fun , R, RRC> ((IDC) -> Publisher).cached(
    cache: CacheFactory,
    vararg delegateCacheFactories: Function, CacheFactory>
): RuleMapperSource = cached(this, cache, *delegateCacheFactories)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy