pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / src / java / org / apache / lucene / analysis / tokenattributes / TypeAttributeImpl.java
1 package org.apache.lucene.analysis.tokenattributes;
2
3 /**
4  * Licensed to the Apache Software Foundation (ASF) under one or more
5  * contributor license agreements.  See the NOTICE file distributed with
6  * this work for additional information regarding copyright ownership.
7  * The ASF licenses this file to You under the Apache License, Version 2.0
8  * (the "License"); you may not use this file except in compliance with
9  * 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 java.io.Serializable;
21
22 import org.apache.lucene.util.AttributeImpl;
23
24 /**
25  * A Token's lexical type. The Default value is "word". 
26  */
27 public class TypeAttributeImpl extends AttributeImpl implements TypeAttribute, Cloneable, Serializable {
28   private String type;
29   
30   public TypeAttributeImpl() {
31     this(DEFAULT_TYPE); 
32   }
33   
34   public TypeAttributeImpl(String type) {
35     this.type = type;
36   }
37   
38   /** Returns this Token's lexical type.  Defaults to "word". */
39   public String type() {
40     return type;
41   }
42
43   /** Set the lexical type.
44       @see #type() */
45   public void setType(String type) {
46     this.type = type;
47   }
48
49   @Override
50   public void clear() {
51     type = DEFAULT_TYPE;    
52   }
53
54   @Override
55   public boolean equals(Object other) {
56     if (other == this) {
57       return true;
58     }
59     
60     if (other instanceof TypeAttributeImpl) {
61       final TypeAttributeImpl o = (TypeAttributeImpl) other;
62       return (this.type == null ? o.type == null : this.type.equals(o.type));
63     }
64     
65     return false;
66   }
67
68   @Override
69   public int hashCode() {
70     return (type == null) ? 0 : type.hashCode();
71   }
72   
73   @Override
74   public void copyTo(AttributeImpl target) {
75     TypeAttribute t = (TypeAttribute) target;
76     t.setType(type);
77   }
78 }