01: package org.apache.lucene.xmlparser.builders;
02:
03: import org.apache.lucene.search.spans.SpanFirstQuery;
04: import org.apache.lucene.search.spans.SpanQuery;
05: import org.apache.lucene.xmlparser.DOMUtils;
06: import org.apache.lucene.xmlparser.ParserException;
07: import org.w3c.dom.Element;
08:
09: /**
10: * Licensed to the Apache Software Foundation (ASF) under one or more
11: * contributor license agreements. See the NOTICE file distributed with
12: * this work for additional information regarding copyright ownership.
13: * The ASF licenses this file to You under the Apache License, Version 2.0
14: * (the "License"); you may not use this file except in compliance with
15: * the License. You may obtain a copy of the License at
16: *
17: * http://www.apache.org/licenses/LICENSE-2.0
18: *
19: * Unless required by applicable law or agreed to in writing, software
20: * distributed under the License is distributed on an "AS IS" BASIS,
21: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22: * See the License for the specific language governing permissions and
23: * limitations under the License.
24: */
25: public class SpanFirstBuilder extends SpanBuilderBase {
26: SpanQueryBuilder factory;
27:
28: public SpanFirstBuilder(SpanQueryBuilder factory) {
29: super ();
30: this .factory = factory;
31: }
32:
33: public SpanQuery getSpanQuery(Element e) throws ParserException {
34: int end = DOMUtils.getAttribute(e, "end", 1);
35: Element child = DOMUtils.getFirstChildElement(e);
36: SpanQuery q = factory.getSpanQuery(child);
37:
38: SpanFirstQuery sfq = new SpanFirstQuery(q, end);
39:
40: sfq.setBoost(DOMUtils.getAttribute(e, "boost", 1.0f));
41: return sfq;
42: }
43:
44: }
|