Package org.wildfly.security.auth.server
Interface NameRewriter
-
- All Known Implementing Classes:
MutableNameRewriter
,RegexNameRewriter
,RegexNameValidatingRewriter
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface NameRewriter
A name rewriter. Name rewriters transform names from one form to another for various purposes, including (but not limited to):- Normalizing case
- Trimming extra whitespace
- Mapping one naming scheme to another (e.g. "user@realm" to/from "realm/user" or similar)
- Removing a realm component (e.g. "user@realm" to "user")
null
, the name is not valid according to the rules of the rewriter.- Author:
- David M. Lloyd
-
-
Field Summary
Fields Modifier and Type Field Description static NameRewriter
IDENTITY_REWRITER
The simple identity name rewriter, which does no rewriting.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static NameRewriter
aggregate(NameRewriter... nameRewriters)
Create a name rewriter which aggregates the given name rewriters; the first rewriter which successfully rewrites the name is used.static NameRewriter
aggregate(NameRewriter rewriter1, NameRewriter rewriter2)
Create a name rewriter which aggregates the given name rewriters; the first rewriter which successfully rewrites the name is used.default UnaryOperator<Principal>
asPrincipalRewriter()
Get this name rewriter as a principal rewriter that applies only toNamePrincipal
instances.static NameRewriter
chain(NameRewriter... nameRewriters)
Create a name rewriter which chains the given name rewriters; the name will be rewritten through the given rewriters in order and then returned.static NameRewriter
chain(NameRewriter rewriter1, NameRewriter rewriter2)
Create a name rewriter which chains the given name rewriters; the name will be rewritten through the given rewriters in order and then returned.static NameRewriter
constant(String name)
Create a name rewriter which always returns the same name.String
rewriteName(String original)
Rewrite a name.
-
-
-
Field Detail
-
IDENTITY_REWRITER
static final NameRewriter IDENTITY_REWRITER
The simple identity name rewriter, which does no rewriting.
-
-
Method Detail
-
rewriteName
String rewriteName(String original)
Rewrite a name. Must not returnnull
.- Parameters:
original
- the original name (must not benull
)- Returns:
- the rewritten name, or
null
if the name is invalid
-
asPrincipalRewriter
default UnaryOperator<Principal> asPrincipalRewriter()
Get this name rewriter as a principal rewriter that applies only toNamePrincipal
instances.- Returns:
- the principal rewriter (not
null
)
-
chain
static NameRewriter chain(NameRewriter rewriter1, NameRewriter rewriter2)
Create a name rewriter which chains the given name rewriters; the name will be rewritten through the given rewriters in order and then returned. If any rewriter returnsnull
, thennull
is returned.- Parameters:
rewriter1
- the first name rewriter (must not benull
)rewriter2
- the second name rewriter (must not benull
)- Returns:
- the name rewriter (not
null
)
-
chain
static NameRewriter chain(NameRewriter... nameRewriters)
Create a name rewriter which chains the given name rewriters; the name will be rewritten through the given rewriters in order and then returned. If any rewriter returnsnull
, thennull
is returned.- Parameters:
nameRewriters
- the name rewriters (must not benull
, cannot havenull
elements)- Returns:
- the name rewriter (not
null
)
-
aggregate
static NameRewriter aggregate(NameRewriter rewriter1, NameRewriter rewriter2)
Create a name rewriter which aggregates the given name rewriters; the first rewriter which successfully rewrites the name is used. If all the rewriters returnnull
, thennull
is returned.- Parameters:
rewriter1
- the first name rewriter (must not benull
)rewriter2
- the second name rewriter (must not benull
)- Returns:
- the name rewriter (not
null
)
-
aggregate
static NameRewriter aggregate(NameRewriter... nameRewriters)
Create a name rewriter which aggregates the given name rewriters; the first rewriter which successfully rewrites the name is used. If all the rewriters returnnull
, thennull
is returned.- Parameters:
nameRewriters
- the name rewriters (must not benull
, cannot havenull
elements)- Returns:
- the name rewriter (not
null
)
-
constant
static NameRewriter constant(String name)
Create a name rewriter which always returns the same name.- Parameters:
name
- the name to return- Returns:
- the name
-
-