Top Description Inners Fields Constructors Methods
io.undertow.server.handlers.proxy

public Class RouteIteratorFactory

extends Object
Class Inheritance
Imports
java.nio.CharBuffer, java.util.Iterator, .NoSuchElementException

Factory for route/affinity iterator parser. This implementation lazily parses routes while supporting strategies in RouteParsingStrategy including ranked routing. The iterator never creates new String instances but returns a CharSequence wrapper from the existing session ID.
Author
Radoslav Husar

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
private class

Field Summary

Modifier and TypeField and Description
private final RouteIteratorFactory.ParsingCompatibility
private final String
private final RouteParsingStrategy

Constructor Summary

AccessConstructor and Description
public
RouteIteratorFactory(RouteParsingStrategy
route parsing strategy
routeParsingStrategy
,
RouteIteratorFactory.ParsingCompatibility
route parsing compatibility behavior
parsingCompatibility
)

public
RouteIteratorFactory(RouteParsingStrategy
route parsing strategy
routeParsingStrategy
,
RouteIteratorFactory.ParsingCompatibility
route parsing compatibility behavior
parsingCompatibility
,
String
String sequence to split routes at if ranked routing is enabled
rankedRouteDelimiter
)

Method Summary

Modifier and TypeMethod and Description
public Iterator<CharSequence>

Returns:

routes iterator; never returns null
iterator
(String
String of sessionID from the cookie/parameter possibly including encoded/appended affinity/route information
sessionId
)

Returns an Iterator<CharSequence> of routes.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

parsingCompatibilityback to summary
private final RouteIteratorFactory.ParsingCompatibility parsingCompatibility
rankedRouteDelimiterback to summary
private final String rankedRouteDelimiter
routeParsingStrategyback to summary
private final RouteParsingStrategy routeParsingStrategy

Constructor Detail

RouteIteratorFactoryback to summary
public RouteIteratorFactory(RouteParsingStrategy routeParsingStrategy, RouteIteratorFactory.ParsingCompatibility parsingCompatibility)
Parameters
routeParsingStrategy:RouteParsingStrategy

route parsing strategy

parsingCompatibility:RouteIteratorFactory.ParsingCompatibility

route parsing compatibility behavior

RouteIteratorFactoryback to summary
public RouteIteratorFactory(RouteParsingStrategy routeParsingStrategy, RouteIteratorFactory.ParsingCompatibility parsingCompatibility, String rankedRouteDelimiter)
Parameters
routeParsingStrategy:RouteParsingStrategy

route parsing strategy

parsingCompatibility:RouteIteratorFactory.ParsingCompatibility

route parsing compatibility behavior

rankedRouteDelimiter:String

String sequence to split routes at if ranked routing is enabled

Method Detail

iteratorback to summary
public Iterator<CharSequence> iterator(String sessionId)

Returns an Iterator<CharSequence> of routes.

Parameters
sessionId:String

String of sessionID from the cookie/parameter possibly including encoded/appended affinity/route information

Returns:Iterator<CharSequence>

routes iterator; never returns null

io.undertow.server.handlers.proxy back to summary

public final Enum RouteIteratorFactory.ParsingCompatibility

extends Enum<RouteIteratorFactory.ParsingCompatibility>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final RouteIteratorFactory.ParsingCompatibility
public static final RouteIteratorFactory.ParsingCompatibility

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static RouteIteratorFactory.ParsingCompatibility
public static RouteIteratorFactory.ParsingCompatibility[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

MOD_CLUSTERback to summary
public static final RouteIteratorFactory.ParsingCompatibility MOD_CLUSTER
MOD_JKback to summary
public static final RouteIteratorFactory.ParsingCompatibility MOD_JK

Constructor Detail

ParsingCompatibilityback to summary
private ParsingCompatibility()

Method Detail

valueOfback to summary
public static RouteIteratorFactory.ParsingCompatibility valueOf(String name)
valuesback to summary
public static RouteIteratorFactory.ParsingCompatibility[] values()
io.undertow.server.handlers.proxy back to summary

private Class RouteIteratorFactory.RouteIterator

extends Object
implements Iterator<CharSequence>
Class Inheritance
  • java.lang.Object
  • io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator
All Implemented Interfaces
java.util.Iterator

Field Summary

Modifier and TypeField and Description
private CharSequence
private int
private boolean
private final String

Constructor Summary

AccessConstructor and Description
pack-priv
RouteIterator(String sessionId)

Method Summary

Modifier and TypeMethod and Description
public boolean
hasNext()

Implements java.util.Iterator.hasNext.

Returns true if the iteration has more elements.

public CharSequence
next()

Implements java.util.Iterator.next.

Returns the next element in the iteration.

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

nextback to summary
private CharSequence next
nextPosback to summary
private int nextPos
nextResolvedback to summary
private boolean nextResolved
sessionIdback to summary
private final String sessionId

Constructor Detail

RouteIteratorback to summary
pack-priv RouteIterator(String sessionId)

Method Detail

hasNextback to summary
public boolean hasNext()

Implements java.util.Iterator.hasNext.

Doc from java.util.Iterator.hasNext.

Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Returns:boolean

true if the iteration has more elements

Annotations
@Override
nextback to summary
public CharSequence next()

Implements java.util.Iterator.next.

Doc from java.util.Iterator.next.

Returns the next element in the iteration.

Returns:CharSequence

the next element in the iteration

Annotations
@Override
resolveNextback to summary
private void resolveNext()