public static Specification<Sense> filter(SenseCriteriaDTO dto) {
return (root, query, cb) -> {
List<Predicate> criteria = new ArrayList<>();
if (dto.getLemma() != null && !dto.getLemma().isEmpty()) {
criteria.add(byLemma(dto.getLemma()).toPredicate(root, query, cb));
}
if (dto.getVariant() != null) {
criteria.add(byVarinat(dto.getVariant()).toPredicate(root, query, cb));
}
if (dto.getPartOfSpeechId() != null) {
criteria.add(byPartOfSpeech(dto.getPartOfSpeechId()).toPredicate(root, query, cb));
}
if (dto.getDomainId() != null) {
criteria.add(byDomain(dto.getDomainId()).toPredicate(root, query, cb));
}
if (dto.getSynsetId() != null) {
criteria.add(bySynsetId(dto.getSynsetId()).toPredicate(root, query, cb));
}
if (dto.getLexicons() != null && dto.getLexicons().size() > 0) {
criteria.add(byLexiconIds(dto.getLexicons()).toPredicate(root, query, cb));
}
return cb.and(criteria.toArray(new Predicate[criteria.size()]));
};
}
SenseSpecification.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:WordnetLoom
作者:
评论列表
文章目录