1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20 package org.apache.thrift.protocol; 21 22 /** 23 * Helper class that encapsulates field metadata. 24 * <p>Two fields are considered equal if they have the same type and id.</p> 25 */ 26 public class TField { TField()27 public TField() { 28 this("", TType.STOP, (short)0); 29 } 30 TField(String n, byte t, short i)31 public TField(String n, byte t, short i) { 32 name = n; 33 type = t; 34 id = i; 35 } 36 37 public final String name; 38 public final byte type; 39 public final short id; 40 toString()41 public String toString() { 42 return "<TField name:'" + name + "' type:" + type + " field-id:" + id + ">"; 43 } 44 45 @Override hashCode()46 public int hashCode() { 47 final int prime = 31; 48 int result = 1; 49 result = prime * result + id; 50 result = prime * result + type; 51 return result; 52 } 53 54 @Override equals(Object obj)55 public boolean equals(Object obj) { 56 if (this == obj) 57 return true; 58 if (obj == null) 59 return false; 60 if (getClass() != obj.getClass()) 61 return false; 62 TField otherField = (TField) obj; 63 return type == otherField.type && id == otherField.id; 64 } 65 } 66