1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package convwatch; 25cdf0e10cSrcweir 26cdf0e10cSrcweir public class TriState 27cdf0e10cSrcweir { 28cdf0e10cSrcweir public static final TriState TRUE = new TriState(1); 29cdf0e10cSrcweir public static final TriState FALSE = new TriState(0); 30cdf0e10cSrcweir public static final TriState UNSET = new TriState(-1); 31cdf0e10cSrcweir 32cdf0e10cSrcweir int m_nValue; 33cdf0e10cSrcweir 34cdf0e10cSrcweir /** 35cdf0e10cSrcweir Allocates a <code>TriState</code> object representing the 36cdf0e10cSrcweir <code>value</code> argument. 37cdf0e10cSrcweir 38cdf0e10cSrcweir @param value the value of the <code>TriState</code>. 39cdf0e10cSrcweir */ TriState(int value)40cdf0e10cSrcweir public TriState(int value) 41cdf0e10cSrcweir { 42cdf0e10cSrcweir m_nValue = value; 43cdf0e10cSrcweir } 44cdf0e10cSrcweir 45cdf0e10cSrcweir /** 46cdf0e10cSrcweir Returns the value of this TriState object as an int 47cdf0e10cSrcweir * @return the primitive <code>int</code> value of this object. 48cdf0e10cSrcweir */ intValue()49cdf0e10cSrcweir public int intValue() 50cdf0e10cSrcweir { 51cdf0e10cSrcweir return m_nValue; 52cdf0e10cSrcweir } 53cdf0e10cSrcweir /** 54cdf0e10cSrcweir Returns <code>true</code> if and only if the argument is not 55cdf0e10cSrcweir <code>null</code> and is a <code>TriState</code> object that 56cdf0e10cSrcweir contains the same <code>int</code> value as this object. 57cdf0e10cSrcweir 58cdf0e10cSrcweir @param obj the object to compare with. 59cdf0e10cSrcweir @return <code>true</code> if the objects are the same; 60cdf0e10cSrcweir <code>false</code> otherwise. 61cdf0e10cSrcweir */ 62cdf0e10cSrcweir equals(Object obj)63cdf0e10cSrcweir public boolean equals(Object obj) 64cdf0e10cSrcweir { 65cdf0e10cSrcweir if ((obj != null) && 66cdf0e10cSrcweir (obj instanceof TriState)) 67cdf0e10cSrcweir { 68cdf0e10cSrcweir return m_nValue == ((TriState)obj).intValue(); 69cdf0e10cSrcweir } 70cdf0e10cSrcweir return false; 71cdf0e10cSrcweir } 72cdf0e10cSrcweir } 73