本文整理汇总了Java中io.undertow.predicate.Predicate类的典型用法代码示例。如果您正苦于以下问题:Java Predicate类的具体用法?Java Predicate怎么用?Java Predicate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Predicate类属于io.undertow.predicate包,在下文中一共展示了Predicate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addTo
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public void addTo(RoutingHandler rh, OptionMap config) {
List<Predicate> list = new ArrayList<>();
list.add(this.predicate);
list.add(this.matches);
Route route = this.route;
if (this.type != null && this.type.isEmpty() == false) {
list.add(MIMEPredicate.accept(type));
route = (req, res) -> {
Object result = this.route.handle(req, res);
res.type(this.type);
return result;
};
}
this.accepts.stream().filter(s -> s.isEmpty() == false)
.map(s -> MIMEPredicate.contentType(s)).forEach(list::add);
rh.add(Predicates.and(list.toArray(new Predicate[list.size()])), route,
this.renderer);
}
示例2: readAttribute
import io.undertow.predicate.Predicate; //导入依赖的package包/类
@Override
public String readAttribute(final HttpServerExchange exchange) {
Map<String, Object> context = exchange.getAttachment(Predicate.PREDICATE_CONTEXT);
if (context != null) {
Object object = context.get(name);
return object == null ? null : object.toString();
}
return null;
}
示例3: writeAttribute
import io.undertow.predicate.Predicate; //导入依赖的package包/类
@Override
public void writeAttribute(final HttpServerExchange exchange, final String newValue) throws ReadOnlyAttributeException {
Map<String, Object> context = exchange.getAttachment(Predicate.PREDICATE_CONTEXT);
if (context != null) {
context.put(name, newValue);
}
}
示例4: ContentEncodedResourceManager
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public ContentEncodedResourceManager(File encodedResourcesRoot, CachingResourceManager encodedResourceManager, ContentEncodingRepository contentEncodingRepository, int minResourceSize, int maxResourceSize, Predicate encodingAllowed) {
this.encodedResourcesRoot = encodedResourcesRoot;
this.encoded = encodedResourceManager;
this.contentEncodingRepository = contentEncodingRepository;
this.minResourceSize = minResourceSize;
this.maxResourceSize = maxResourceSize;
this.encodingAllowed = encodingAllowed;
}
示例5: parse
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public static List<PredicatedHandler> parse(final String contents, final ClassLoader classLoader) {
String[] lines = contents.split("\\n");
final List<PredicatedHandler> wrappers = new ArrayList<>();
for (String line : lines) {
if (line.trim().length() > 0) {
Predicate predicate;
HandlerWrapper handler;
String[] parts = line.split("->");
if (parts.length == 2) {
predicate = PredicateParser.parse(parts[0], classLoader);
handler = HandlerParser.parse(parts[1], classLoader);
} else if (parts.length == 1) {
predicate = Predicates.truePredicate();
handler = HandlerParser.parse(parts[0], classLoader);
} else {
predicate = PredicateParser.parse(parts[0], classLoader);
HandlerWrapper[] handlers = new HandlerWrapper[parts.length -1];
for(int i = 0; i < handlers.length; ++i) {
handlers[i] = HandlerParser.parse(parts[i + 1], classLoader);
}
handler = new ChaninedHandlerWrapper(Arrays.asList(handlers));
}
wrappers.add(new PredicatedHandler(predicate, handler));
}
}
return wrappers;
}
示例6: add
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public synchronized RoutingHandler add(HttpString method, String template, Predicate predicate, HttpHandler handler) {
PathTemplateMatcher<RoutingMatch> matcher = matches.get(method);
if (matcher == null) {
matches.put(method, matcher = new PathTemplateMatcher<>());
}
RoutingMatch res = matcher.get(template);
if (res == null) {
matcher.add(template, res = new RoutingMatch());
}
if (allMethodsMatcher.get(template) == null) {
allMethodsMatcher.add(template, res);
}
res.predicatedHandlers.add(new HandlerHolder(predicate, handler));
return this;
}
示例7: getCompressionPredicates
import io.undertow.predicate.Predicate; //导入依赖的package包/类
private Predicate[] getCompressionPredicates(Compression compression) {
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(new MaxSizePredicate(compression.getMinResponseSize()));
predicates.add(new CompressibleMimeTypePredicate(compression.getMimeTypes()));
if (compression.getExcludedUserAgents() != null) {
for (String agent : compression.getExcludedUserAgents()) {
RequestHeaderAttribute agentHeader = new RequestHeaderAttribute(
new HttpString(HttpHeaders.USER_AGENT));
predicates.add(Predicates.not(Predicates.regex(agentHeader, agent)));
}
}
return predicates.toArray(new Predicate[predicates.size()]);
}
开发者ID:vikrammane23,项目名称:https-github.com-g0t4-jenkins2-course-spring-boot,代码行数:14,代码来源:UndertowEmbeddedServletContainer.java
示例8: getCompressionPredicates
import io.undertow.predicate.Predicate; //导入依赖的package包/类
private Predicate[] getCompressionPredicates(Compression compression) {
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(Predicates.maxContentSize(compression.getMinResponseSize()));
predicates.add(new CompressibleMimeTypePredicate(compression.getMimeTypes()));
if (compression.getExcludedUserAgents() != null) {
for (String agent : compression.getExcludedUserAgents()) {
RequestHeaderAttribute agentHeader = new RequestHeaderAttribute(
new HttpString(HttpHeaders.USER_AGENT));
predicates.add(Predicates.not(Predicates.regex(agentHeader, agent)));
}
}
return predicates.toArray(new Predicate[predicates.size()]);
}
示例9: addPredicate
import io.undertow.predicate.Predicate; //导入依赖的package包/类
@Override
public void addPredicate(int priority, Predicate predicate, HttpHandler truePredicate) {
if(priority < 0) {
throw new IllegalStateException("The priority must be > 0");
}
conditionalHandlers.push(new ConditionalHandlerHolder(priority, predicate, truePredicate));
}
示例10: add
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public synchronized RoutingHandler add(HttpString method, String template, Predicate predicate, HttpHandler handler) {
CustomPathTemplateMatcher<RoutingMatch> matcher = matches.get(method);
if (matcher == null) {
matches.put(method, matcher = new CustomPathTemplateMatcher<>());
}
RoutingMatch res = matcher.get(template);
if (res == null) {
matcher.add(template, res = new RoutingMatch());
}
if (allMethodsMatcher.get(template) == null) {
allMethodsMatcher.add(template, res);
}
res.predicatedHandlers.add(new HandlerHolder(predicate, handler));
return this;
}
示例11: WebSocketDef
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public WebSocketDef(String template, Predicate predicate,
WebSocketFactory factory) {
super();
this.template = template;
this.predicate = predicate;
this.factory = factory;
}
示例12: RoutingDef
import io.undertow.predicate.Predicate; //导入依赖的package包/类
public RoutingDef(String template, Predicate predicate, HttpMethod method,
Route route) {
this.template = template;
this.predicate = predicate;
this.method = method;
this.route = route;
}
示例13: consumeConfiguration
import io.undertow.predicate.Predicate; //导入依赖的package包/类
@Override
Consumer<? super Map<String, Object>> consumeConfiguration() {
return u -> {
Object _role = u.get("role");
Object _predicate = u.get("predicate");
if (_role == null || !(_role instanceof String)) {
throw new IllegalArgumentException("wrong configuration file format. a permission entry is missing the role");
}
String role = (String) _role;
if (_predicate == null || !(_predicate instanceof String)) {
throw new IllegalArgumentException("wrong configuration file format. a permission entry is missing the predicate");
}
Predicate predicate = null;
try {
predicate = PredicateParser.parse((String) _predicate, this.getClass().getClassLoader());
} catch (Throwable t) {
throw new IllegalArgumentException("wrong configuration file format. wrong predicate " + _predicate, t);
}
aclForRole(role).add(predicate);
};
}
示例14: isAuthenticationRequired
import io.undertow.predicate.Predicate; //导入依赖的package包/类
@Override
public boolean isAuthenticationRequired(final HttpServerExchange exchange) {
if (getAcl() == null) {
return true;
}
Set<Predicate> ps = getAcl().get("$unauthenticated");
return ps == null ? true : !ps.stream().anyMatch(p -> p.resolve(exchange));
}
示例15: aclForRole
import io.undertow.predicate.Predicate; //导入依赖的package包/类
private Set<Predicate> aclForRole(String role) {
Set<Predicate> predicates = getAcl().get(role);
if (predicates == null) {
predicates = newHashSet();
getAcl().put(role, predicates);
}
return predicates;
}