MtasSpanQuery.java.html
5.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MtasSpanQuery.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MTAS</a> > <a href="index.source.html" class="el_package">mtas.search.spans.util</a> > <span class="el_source">MtasSpanQuery.java</span></div><h1>MtasSpanQuery.java</h1><pre class="source lang-java linenums">package mtas.search.spans.util;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.spans.SpanQuery;
import mtas.search.spans.MtasSpanMatchNoneQuery;
/**
* The Class MtasSpanQuery.
*/
public abstract class MtasSpanQuery extends SpanQuery {
/** The minimum span width. */
private Integer minimumSpanWidth;
/** The maximum span width. */
private Integer maximumSpanWidth;
/** The span width. */
private Integer spanWidth;
/** The single position query. */
private boolean singlePositionQuery;
/** The allow two phase iterator. */
private boolean allowTwoPhaseIterator;
/**
* Instantiates a new mtas span query.
*
* @param minimum the minimum
* @param maximum the maximum
*/
public MtasSpanQuery(Integer minimum, Integer maximum) {
<span class="fc" id="L36"> super();</span>
<span class="fc" id="L37"> initialize(minimum, maximum);</span>
<span class="fc" id="L38"> allowTwoPhaseIterator = true;</span>
<span class="fc" id="L39"> }</span>
/**
* Sets the width.
*
* @param minimum the minimum
* @param maximum the maximum
*/
public void setWidth(Integer minimum, Integer maximum) {
<span class="fc" id="L48"> initialize(minimum, maximum);</span>
<span class="fc" id="L49"> }</span>
/**
* Initialize.
*
* @param minimum the minimum
* @param maximum the maximum
*/
private void initialize(Integer minimum, Integer maximum) {
<span class="fc" id="L58"> minimumSpanWidth = minimum;</span>
<span class="fc" id="L59"> maximumSpanWidth = maximum;</span>
<span class="fc bfc" id="L60" title="All 6 branches covered."> spanWidth = (minimum != null && maximum != null && minimum.equals(maximum))</span>
? minimum : null;
<span class="fc bfc" id="L62" title="All 4 branches covered."> singlePositionQuery = spanWidth != null && spanWidth.equals(1);</span>
<span class="fc" id="L63"> }</span>
// public abstract MtasSpanWeight createWeight(IndexSearcher searcher,
// boolean needsScores) throws IOException;
/*
* (non-Javadoc)
*
* @see
* org.apache.lucene.search.Query#rewrite(org.apache.lucene.index.IndexReader)
*/
@Override
public MtasSpanQuery rewrite(IndexReader reader) throws IOException {
<span class="fc bfc" id="L76" title="All 4 branches covered."> if (minimumSpanWidth != null && maximumSpanWidth != null</span>
<span class="pc bpc" id="L77" title="1 of 2 branches missed."> && minimumSpanWidth > maximumSpanWidth) {</span>
<span class="nc" id="L78"> return new MtasSpanMatchNoneQuery(this.getField());</span>
} else {
<span class="fc" id="L80"> return this;</span>
}
}
/**
* Gets the width.
*
* @return the width
*/
public final Integer getWidth() {
<span class="nc" id="L90"> return spanWidth;</span>
}
/**
* Gets the minimum width.
*
* @return the minimum width
*/
public final Integer getMinimumWidth() {
<span class="fc" id="L99"> return minimumSpanWidth;</span>
}
/**
* Gets the maximum width.
*
* @return the maximum width
*/
public final Integer getMaximumWidth() {
<span class="fc" id="L108"> return maximumSpanWidth;</span>
}
/**
* Disable two phase iterator.
*/
public void disableTwoPhaseIterator() {
<span class="fc" id="L115"> allowTwoPhaseIterator = false;</span>
<span class="fc" id="L116"> }</span>
/**
* Two phase iterator allowed.
*
* @return true, if successful
*/
public final boolean twoPhaseIteratorAllowed() {
<span class="fc" id="L124"> return allowTwoPhaseIterator;</span>
}
/**
* Checks if is single position query.
*
* @return true, if is single position query
*/
public final boolean isSinglePositionQuery() {
<span class="fc" id="L133"> return singlePositionQuery;</span>
}
/*
* (non-Javadoc)
*
* @see org.apache.lucene.search.Query#equals(java.lang.Object)
*/
@Override
public abstract boolean equals(Object object);
/*
* (non-Javadoc)
*
* @see org.apache.lucene.search.Query#hashCode()
*/
@Override
public abstract int hashCode();
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.7.9.201702052155</span></div></body></html>