Top Description Inners Fields Constructors Methods
io.undertow.predicate

public Class PredicatesHandler

extends Object
implements HttpHandler
Class Inheritance
All Implemented Interfaces
io.undertow.server.HttpHandler
Imports
io.undertow.UndertowLogger, io.undertow.server.HandlerWrapper, .HttpHandler, .HttpServerExchange, io.undertow.server.handlers.builder.HandlerBuilder, .PredicatedHandler, io.undertow.util.AttachmentKey, java.util.Collections, .List, .Map, .Set, .TreeMap

Handler that can deal with a large number of predicates. chaining together a large number of io.undertow.predicate.PredicatesHandler.Holder instances will make the stack grow to large, so this class is used that can deal with a large number of predicates.
Author
Stuart Douglas

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
private static class
public static class
public static class

Field Summary

Modifier and TypeField and Description
private final AttachmentKey<Integer>
public static final AttachmentKey<Boolean>
DONE

static done marker.

private volatile PredicatesHandler.Holder[]
private volatile HttpHandler
private final boolean
public static final AttachmentKey<Boolean>
private static final boolean

Constructor Summary

AccessConstructor and Description
public
public
PredicatesHandler(HttpHandler next, boolean outerHandler)

Method Summary

Modifier and TypeMethod and Description
public PredicatesHandler
addPredicatedHandler(final Predicate predicate, final HandlerWrapper handlerWrapper, final HandlerWrapper elseBranch)

Adds a new predicated handler.

public PredicatesHandler
addPredicatedHandler(final Predicate predicate, final HandlerWrapper handlerWrapper)

Adds a new predicated handler.

public PredicatesHandler
public HttpHandler
public void
handleRequest(HttpServerExchange
the HTTP request/response exchange
exchange
)

Implements io.undertow.server.HttpHandler.handleRequest.

Handle the request.

public void
private boolean
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

CURRENT_POSITIONback to summary
private final AttachmentKey<Integer> CURRENT_POSITION
DONEback to summary
public static final AttachmentKey<Boolean> DONE

static done marker. If this is attached to the exchange it will drop out immediately.

handlersback to summary
private volatile PredicatesHandler.Holder[] handlers
nextback to summary
private volatile HttpHandler next
outerHandlerback to summary
private final boolean outerHandler
RESTARTback to summary
public static final AttachmentKey<Boolean> RESTART
traceEnabledback to summary
private static final boolean traceEnabled

Constructor Detail

PredicatesHandlerback to summary
public PredicatesHandler(HttpHandler next)
PredicatesHandlerback to summary
public PredicatesHandler(HttpHandler next, boolean outerHandler)

Method Detail

addPredicatedHandlerback to summary
public PredicatesHandler addPredicatedHandler(final Predicate predicate, final HandlerWrapper handlerWrapper, final HandlerWrapper elseBranch)

Adds a new predicated handler.

addPredicatedHandlerback to summary
public PredicatesHandler addPredicatedHandler(final Predicate predicate, final HandlerWrapper handlerWrapper)

Adds a new predicated handler.

addPredicatedHandlerback to summary
public PredicatesHandler addPredicatedHandler(final PredicatedHandler handler)
getNextback to summary
public HttpHandler getNext()
handleRequestback to summary
public void handleRequest(HttpServerExchange exchange) throws Exception

Implements io.undertow.server.HttpHandler.handleRequest.

Doc from io.undertow.server.HttpHandler.handleRequest.

Handle the request.

Parameters
exchange:HttpServerExchange

the HTTP request/response exchange

Annotations
@Override
setNextback to summary
public void setNext(HttpHandler next)
shouldRestartback to summary
private boolean shouldRestart(HttpServerExchange exchange, Integer current)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
io.undertow.predicate back to summary

public final Class PredicatesHandler.DoneHandlerBuilder

extends Object
implements HandlerBuilder
Class Inheritance
All Implemented Interfaces
io.undertow.server.handlers.builder.HandlerBuilder

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public HandlerWrapper
build(Map<String, Object>
The handler config
config
)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

public String
public String
name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

public Map<String, Class<?>>
parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

public Set<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

DoneHandlerBuilderback to summary
public DoneHandlerBuilder()

Method Detail

buildback to summary
public HandlerWrapper build(Map<String, Object> config)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

Parameters
config:Map<String, Object>

The handler config

Returns:HandlerWrapper

The new predicate

Annotations
@Override
defaultParameterback to summary
public String defaultParameter()

Implements io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

Returns:String

Doc from io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

The default parameter name, or null if it does not have a default parameter

Annotations
@Override
nameback to summary
public String name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

Returns:String

The handler name

Annotations
@Override
parametersback to summary
public Map<String, Class<?>> parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

Annotations
@Override
requiredParametersback to summary
public Set<String> requiredParameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

Returns:Set<String>

Doc from io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

The required parameters

Annotations
@Override
io.undertow.predicate back to summary

private final Class PredicatesHandler.Holder

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final HttpHandler
pack-priv final HttpHandler
pack-priv final Predicate

Constructor Summary

AccessConstructor and Description
private
Holder(Predicate predicate, HttpHandler handler, HttpHandler elseBranch)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

elseBranchback to summary
pack-priv final HttpHandler elseBranch
handlerback to summary
pack-priv final HttpHandler handler
predicateback to summary
pack-priv final Predicate predicate

Constructor Detail

Holderback to summary
private Holder(Predicate predicate, HttpHandler handler, HttpHandler elseBranch)
io.undertow.predicate back to summary

public final Class PredicatesHandler.RestartHandlerBuilder

extends Object
implements HandlerBuilder
Class Inheritance
  • java.lang.Object
  • io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder
All Implemented Interfaces
io.undertow.server.handlers.builder.HandlerBuilder

Field Summary

Modifier and TypeField and Description
private static final int
private static final AttachmentKey<Integer>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public HandlerWrapper
build(Map<String, Object>
The handler config
config
)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

public String
public String
name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

public Map<String, Class<?>>
parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

public Set<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

MAX_RESTARTSback to summary
private static final int MAX_RESTARTS
RESTART_COUNTback to summary
private static final AttachmentKey<Integer> RESTART_COUNT

Constructor Detail

RestartHandlerBuilderback to summary
public RestartHandlerBuilder()

Method Detail

buildback to summary
public HandlerWrapper build(Map<String, Object> config)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

Parameters
config:Map<String, Object>

The handler config

Returns:HandlerWrapper

The new predicate

Annotations
@Override
defaultParameterback to summary
public String defaultParameter()

Implements io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

Returns:String

Doc from io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

The default parameter name, or null if it does not have a default parameter

Annotations
@Override
nameback to summary
public String name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

Returns:String

The handler name

Annotations
@Override
parametersback to summary
public Map<String, Class<?>> parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

Annotations
@Override
requiredParametersback to summary
public Set<String> requiredParameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

Returns:Set<String>

Doc from io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

The required parameters

Annotations
@Override
io.undertow.predicate back to summary

public Class PredicatesHandler.Wrapper

extends Object
implements HandlerWrapper
Class Inheritance
All Implemented Interfaces
io.undertow.server.HandlerWrapper

Field Summary

Modifier and TypeField and Description
private final List<PredicatedHandler>
private final boolean

Constructor Summary

AccessConstructor and Description
public
Wrapper(List<PredicatedHandler> handlers, boolean outerHandler)

Method Summary

Modifier and TypeMethod and Description
public HttpHandler
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

handlersback to summary
private final List<PredicatedHandler> handlers
outerHandlerback to summary
private final boolean outerHandler

Constructor Detail

Wrapperback to summary
public Wrapper(List<PredicatedHandler> handlers, boolean outerHandler)

Method Detail

wrapback to summary
public HttpHandler wrap(HttpHandler handler)

Implements io.undertow.server.HandlerWrapper.wrap.

Annotations
@Override