blob: 811d0e3f4d245d3ef4b0fce1e1858403e9529bb1 [file] [log] [blame]
Nils Diewaldf399a672013-11-18 17:55:22 +00001package de.ids_mannheim.korap.query.wrap;
2
3import org.apache.lucene.search.spans.SpanQuery;
4
5import de.ids_mannheim.korap.query.SpanElementQuery;
Nils Diewald92729ce2014-10-06 16:00:17 +00006import de.ids_mannheim.korap.query.wrap.SpanQueryWrapper;
Nils Diewaldbe5943e2014-10-21 19:35:34 +00007import de.ids_mannheim.korap.util.QueryException;
Nils Diewaldf399a672013-11-18 17:55:22 +00008
Nils Diewaldb9dd4132015-02-16 16:32:41 +00009/*
10 * SpanElementQuery has to support two constructors:
11 * One respecting and adding node information to the payload,
12 * one ignoring node information.
13 * node aka depth in a tree information is only relevant for
14 * child relation queries.
15 */
16
Nils Diewald92729ce2014-10-06 16:00:17 +000017public class SpanElementQueryWrapper extends SpanQueryWrapper {
Akrona26184e2018-12-05 15:37:34 +010018 protected String element;
Nils Diewaldf399a672013-11-18 17:55:22 +000019 String field;
20
Nils Diewaldbb33da22015-03-04 16:24:25 +000021
Nils Diewaldf399a672013-11-18 17:55:22 +000022 public SpanElementQueryWrapper (String field, String element) {
Nils Diewald0981c212015-02-13 20:47:10 +000023 this.field = field;
24 this.element = element;
Nils Diewaldf399a672013-11-18 17:55:22 +000025 };
26
Nils Diewaldb9dd4132015-02-16 16:32:41 +000027
28 @Override
Akrona7b936d2016-03-04 13:40:54 +010029 public SpanQuery toFragmentQuery () throws QueryException {
Nils Diewaldb9dd4132015-02-16 16:32:41 +000030 // Todo: Respect request for retrieving node data (i.e. depth information)
Nils Diewald0981c212015-02-13 20:47:10 +000031 return (SpanQuery) new SpanElementQuery(this.field, this.element);
Nils Diewaldf399a672013-11-18 17:55:22 +000032 };
Nils Diewald6b332812014-07-22 18:51:05 +000033
Nils Diewaldb9dd4132015-02-16 16:32:41 +000034
35 @Override
Nils Diewald6b332812014-07-22 18:51:05 +000036 public boolean isNull () {
Nils Diewald0981c212015-02-13 20:47:10 +000037 return false;
Nils Diewald6b332812014-07-22 18:51:05 +000038 };
Nils Diewaldf399a672013-11-18 17:55:22 +000039};