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

d.inverno-boot.1.7.1.source-code.module-info Maven / Gradle / Ivy

There is a newer version: 1.11.0
Show newest version
/*
 * Copyright 2021 Jeremy KUHN
 *
 * 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.
 */

import java.util.concurrent.ExecutorService;

import io.inverno.mod.base.concurrent.Reactor;
import io.inverno.mod.base.converter.CompoundDecoder;
import io.inverno.mod.base.converter.CompoundEncoder;
import io.inverno.mod.base.net.NetService;
import io.inverno.mod.base.resource.MediaTypeService;
import io.inverno.mod.base.resource.Resource;
import io.inverno.mod.base.resource.ResourceService;

/**
 * 

* The Inverno framework boot module provides basic services. *

* *

* It defines the following sockets: *

* *
*
configuration
*
the boot module configuration
*
compoundDecoders
*
extend the parameter converter decoding capabilities with a list of * {@link CompoundDecoder}
*
compoundEncoders
*
extend the parameter converter encoding capabilities with a list of * {@link CompoundEncoder}
*
objectMapper
*
override the JSON reader/writer
*
workerPool
*
override the worker thread pool
*
* *

* It exposes the following beans: *

* *
*
configuration
*
the boot module configuration
*
reactor
*
the {@link Reactor} used to create optimized threading model based on * event loop group
*
netService
*
a {@link NetService} used to create optimized network clients and * servers
*
mediaTypeService
*
a {@link MediaTypeService} used to determine the media type of a resource * based on its URI
*
resourceService
*
a {@link ResourceService} used to access {@link Resource}
*
parameterConverter
*
a parameter converter used to convert parameter values to primitive and * common types as well as custom types when custom compound decoders and/or * encoders are injected
*
jsonByteBufConverter
*
A JSON to ByteBuf converter
*
jsonMediaTypeConverter
*
An application/json media type converter
*
ndjsonMediaTypeConverter
*
An application/x-ndjson media type converter
*
textPlainMediaTypeConverter
*
An text/plain media type converter
*
workerPool
*
a worker thread pool used whenever there's a need for an * {@link ExecutorService} to execute tasks asynchronously. *
objectMapper
*
A JSON reader/writer
*
* * @author Jeremy Kuhn * @since 1.0 */ @io.inverno.core.annotation.Module @io.inverno.core.annotation.Wire(beans="io.inverno.mod.boot:jsonByteBufConverter", into="io.inverno.mod.boot:jsonByteBufMediaTypeConverter:jsonByteBufConverter") @io.inverno.core.annotation.Wire(beans="io.inverno.mod.boot:jsonByteBufConverter", into="io.inverno.mod.boot:ndJsonByteBufMediaTypeConverter:jsonByteBufConverter") @io.inverno.core.annotation.Wire(beans="io.inverno.mod.boot:jsonStringConverter", into="io.inverno.mod.boot:jsonStringMediaTypeConverter:jsonStringConverter") @io.inverno.core.annotation.Wire(beans="io.inverno.mod.boot:jsonStringConverter", into="io.inverno.mod.boot:ndJsonStringMediaTypeConverter:jsonStringConverter") module io.inverno.mod.boot { requires transitive io.inverno.core; requires static io.inverno.core.annotation; // for javadoc... requires transitive io.inverno.mod.base; requires transitive io.inverno.mod.configuration; requires transitive com.fasterxml.jackson.databind; requires transitive com.fasterxml.jackson.datatype.jsr310; requires org.apache.logging.log4j; requires transitive org.reactivestreams; requires transitive io.netty.buffer; requires io.netty.common; requires transitive io.netty.transport; requires static io.netty.transport.unix.common; requires static io.netty.transport.classes.epoll; requires static io.netty.transport.classes.kqueue; requires static io.netty.incubator.transport.classes.io_uring; requires static io.vertx.core; requires transitive reactor.core; exports io.inverno.mod.boot; exports io.inverno.mod.boot.converter; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy