01: package org.apache.lucene.analysis.sinks;
02:
03: /**
04: * Licensed to the Apache Software Foundation (ASF) under one or more
05: * contributor license agreements. See the NOTICE file distributed with
06: * this work for additional information regarding copyright ownership.
07: * The ASF licenses this file to You under the Apache License, Version 2.0
08: * (the "License"); you may not use this file except in compliance with
09: * the License. You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: */
19:
20: import org.apache.lucene.analysis.SinkTokenizer;
21: import org.apache.lucene.analysis.Token;
22:
23: import java.util.List;
24:
25: /**
26: * If the {@link org.apache.lucene.analysis.Token#type()} matches the passed in <code>typeToMatch</code> then
27: * add it to the sink
28: *
29: **/
30: public class TokenTypeSinkTokenizer extends SinkTokenizer {
31:
32: private String typeToMatch;
33:
34: public TokenTypeSinkTokenizer(String typeToMatch) {
35: this .typeToMatch = typeToMatch;
36: }
37:
38: public TokenTypeSinkTokenizer(int initCap, String typeToMatch) {
39: super (initCap);
40: this .typeToMatch = typeToMatch;
41: }
42:
43: public TokenTypeSinkTokenizer(List/*<Token>*/input,
44: String typeToMatch) {
45: super (input);
46: this .typeToMatch = typeToMatch;
47: }
48:
49: public void add(Token t) {
50: //check to see if this is a Category
51: if (t != null && typeToMatch.equals(t.type())) {
52: lst.add(t.clone());
53: }
54: }
55: }
|