- java.lang.Object
-
- com.linecorp.armeria.server.composition.AbstractCompositeService<I,O>
-
- All Implemented Interfaces:
Service<I,O>
- Direct Known Subclasses:
DocService
,SimpleCompositeService
public abstract class AbstractCompositeService<I extends Request,O extends Response> extends Object implements Service<I,O>
A skeletalService
implementation that enables composing multipleService
s into one. Extend this class to build your own compositeService
. e.g.public class MyService extends AbstractCompositeService<HttpRequest, HttpResponse> { public MyService() { super(CompositeServiceEntry.ofPrefix("/foo/", new FooService()), CompositeServiceEntry.ofPrefix("/bar/", new BarService()), CompositeServiceEntry.ofCatchAll(new OtherService())); } }
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractCompositeService(CompositeServiceEntry<I,O>... services)
Creates a new instance with the specifiedCompositeServiceEntry
s.protected
AbstractCompositeService(Iterable<CompositeServiceEntry<I,O>> services)
Creates a new instance with the specifiedCompositeServiceEntry
s.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PathMapped<Service<I,O>>
findService(PathMappingContext mappingCtx)
O
serve(ServiceRequestContext ctx, I req)
Serves an incomingRequest
.void
serviceAdded(ServiceConfig cfg)
protected <T extends Service<I,O>>
TserviceAt(int index)
protected List<CompositeServiceEntry<I,O>>
services()
Returns the list ofCompositeServiceEntry
s added to this compositeService
.
-
-
-
Constructor Detail
-
AbstractCompositeService
@SafeVarargs protected AbstractCompositeService(CompositeServiceEntry<I,O>... services)
Creates a new instance with the specifiedCompositeServiceEntry
s.
-
AbstractCompositeService
protected AbstractCompositeService(Iterable<CompositeServiceEntry<I,O>> services)
Creates a new instance with the specifiedCompositeServiceEntry
s.
-
-
Method Detail
-
serviceAdded
public void serviceAdded(ServiceConfig cfg) throws Exception
Description copied from interface:Service
-
services
protected List<CompositeServiceEntry<I,O>> services()
Returns the list ofCompositeServiceEntry
s added to this compositeService
.
-
findService
protected PathMapped<Service<I,O>> findService(PathMappingContext mappingCtx)
- Parameters:
mappingCtx
- a context to find theService
.- Returns:
- the
Service
wrapped byPathMapped
if there's a match.PathMapped.empty()
if there's no match.
-
-