1 | // tries to use index if possible |
2 | // result is sorted if index was used |
3 | // result is always an independent collection |
4 | static <A extends Concept> Cl<A> nuLike conceptsWithFieldLessThanOrEqualTo(Class<A> c, S field, O value) { |
5 | ret conceptsWithFieldLessThanOrEqualTo(db_mainConcepts(), c, field, value); |
6 | } |
7 | |
8 | static <A extends Concept> Cl<A> conceptsWithFieldLessThanOrEqualTo(Concepts concepts, Class<A> c, S field, O value) { |
9 | // indexed |
10 | IFieldIndex<A, O> index = concepts.getFieldIndex(c, field); |
11 | if (index cast ConceptFieldIndexDesc) synchronized(index.mutex()) { |
12 | ret reverseInPlace(concatLists(values(((NavigableMap) index.valueToObject.data).tailMap(value, true)))); |
13 | } |
14 | |
15 | // filter manually |
16 | ret filter(concepts.list(c), o -> cmp(getOpt(o, field), value) <= 0); |
17 | } |
Began life as a copy of #1029647
download show line numbers debug dex old transpilations
Travelled to 6 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1029649 |
Snippet name: | conceptsWithFieldLessThanOrEqualTo |
Eternal ID of this version: | #1029649/3 |
Text MD5: | 1d5800c4c3348d6344436f6ab688cb95 |
Author: | stefan |
Category: | javax / concepts |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2020-09-04 20:59:27 |
Source code size: | 799 bytes / 17 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 171 / 208 |
Version history: | 2 change(s) |
Referenced in: | [show references] |